【问题标题】:Which plan to select for my Azure function : Consumption Plan or App Service Plan?为我的 Azure 功能选择哪个计划:消费计划或应用服务计划?
【发布时间】:2019-01-08 13:21:39
【问题描述】:

我们创建了一个 blob 触发的 azure 函数来处理放置在 blob 存储中的文件。此 blob 上的负载将不一致。 例如,在几个小时内,每分钟将有数百甚至数千个文件放置在该 blob 中。另一方面,有几个小时我们甚至找不到一个文件。 有些文件将在几秒钟内处理完毕,有些可能需要 10-15 分钟以上。

所以我的问题是:在这种不可预测的情况下,哪种计划更适合我们?应用服务计划还是消费计划?

【问题讨论】:

  • 文档说:“Consumption 计划中函数的默认超时时间为 5 分钟。通过更改主机中的属性 functionTimeout 可以将 Function App 的值增加到最多 10 分钟.json 项目文件。”
  • 感谢 PeterBons 和 CSharpRocks 的支持。假设我如何优化所有文件将在 10 分钟内处理的代码。在这种情况下,哪个计划更适合我?

标签: azure azure-functions azure-functions-runtime


【解决方案1】:

如果您可以优化您的代码以使最大处理时间为 10 分钟,那么考虑到您波动的工作量,从成本角度来看,Consumption Plan 是您的最佳选择

正如@Peter Bons,在 cmets 中提到的,这个is your best reference

编辑

根据上述文件,

如果您的函数应用在消耗计划中,则最多可以有一个 如果函数应用已消失,处理新 blob 会延迟 10 分钟 闲置。

如果您想避免这种延迟并仍然使用消费计划以从其成本效益中受益,您可以将 Blob Trigger 替换为 Event Grid Trigger,但现在 Azure Functions 并不完全支持它

【讨论】:

  • 谢谢豪达。但是页面中的皮质说:“当您在消费计划中使用 blob 触发器时,处理新 blob 可能会延迟长达 10 分钟。”和“为避免这种冷启动延迟,请使用启用了 Always On 的应用服务计划”在这种情况下,在高负载时间,我的 blob 将在 10 分钟内充满文件。
  • @Yash,您可以依靠将 blob 触发器替换为事件网格触发器来避免这种延迟并继续使用消费计划。
  • @Guda 非常感谢。我认为这会对我有所帮助。并且 10 分钟的运行限制也适用于事件网格触发。对吗?
  • 不,事件网格触发器不会引入延迟。检查这个docs.microsoft.com/en-us/azure/azure-functions/…
  • 还有一件事。当我尝试创建事件网格触发 azure 函数时。它给了我以下消息:“这种语言是实验性的,还没有完全支持。如果遇到问题,请在我们的 GitHub 存储库中提交错误。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多