Azure Function 工作人员与实例

Azure Function workers vs instances

我目前正在使用 Azure 高级服务应用程序 (P3v3)。我发现我的功能需要一些提升,所以我决定看看如何配置缩放。 我找到了两个可用选项:

  1. 在配置部分设置FUNCTIONS_WORKER_PROCESS_COUNT
  2. 在 Scale-Out 菜单中配置实例数

但是instances和workers有什么区别呢?尚未找到任何相关信息或它如何影响成本。

what is the difference between instances (Scale-Out menu) and workers (FUNCTIONS_WORKER_PROCESS_COUNT)?

这些是从成本管理(计费)和功能方面了解工作器和实例的 Microsoft 文档:

FUNCTIONS_WORKER_PROCESS_COUNT的 MSFT 来源:

  1. Azure Functions - Functions App Settings - functions_worker_process_count
  2. Azure Functions - Best Practices - FUNCTIONS_WORKER_PROCESS_COUNT

Azure Functions 高级计划的 MSFT 来源Scale-Out 实例:

  1. Azure Functions Hosting options Information
  2. Azure Functions Premium Plan Instances Billing

AFAIK,FUNCTIONS_WORKER_PROCESS_COUNT 限制最大数量。每个 Function 主机实例的工作进程数。这些实例是一种独立的虚拟机,其中 FUNCTIONS_WORKER_PROCESS_COUNT 限制分别应用于它们中的每一个。

例如,如果 FUNCTIONS_WORKER_PROCESS_COUNT 设置为 10,则表示每个主机实例并发 运行 10 个独立函数。

Multiple Workers表示Multiple Process IdsSame Function App 这是函数的逻辑集合。

一个 Worker Process 可以托管一个 Function App 的所有功能,其中 Single Host FUNCTIONS_WORKER_PROCESS_COUNT 函数的默认值为 1 Host 表示它是 Physical/Virtual 主机,其中 Function App 运行 作为 Windows/Linux Process。

参考获取更多关于FUNCTIONS_WORKER_PROCESS_COUNT机制的信息。


how it can affect costs.

如此 Microsoft Azure Services Pricing Calculator 所说,当您 scale-out.

时,您将按实例付费

当谈到成本管理时,Scale-Out方法论的增量性质非常有益.

成本增加应该可以预测,因为组件是相同的。

横向扩展 还可以让您更快地响应需求变化。

在大多数情况下,可以快速添加或删除服务以满足资源需求。通过仅使用(并支付)当时所需的资源,这种灵活性和速度有效地减少了支出。

有关成本管理和 Scale-Up 和 Scale-out 的好处的更多信息,请参阅此 article