我当前正在使用 Azure 高级服务应用 (P3v3)。我发现我的功能需要一些提升,所以我决定看看如何配置缩放。 我发现了两个可用的选项:
- 在配置部分设置
FUNCTIONS_WORKER_PROCESS_COUNT
- 在横向扩展菜单中配置实例数量
但是实例和工作人员之间有什么区别?尚未找到任何有关此问题或它如何影响成本的信息。
最佳答案
what is the difference between instances (Scale-Out menu) and workers (
FUNCTIONS_WORKER_PROCESS_COUNT
)?
这些是 Microsoft 文档,可帮助您了解工作线程和实例的成本管理(计费)和功能:
FUNCTIONS_WORKER_PROCESS_COUNT
的 MSFT 来源:
- Azure Functions - Functions App Settings - functions_worker_process_count
- Azure Functions - Best Practices - FUNCTIONS_WORKER_PROCESS_COUNT
Azure Functions Premium 计划横向扩展实例的 MSFT 来源:
据我所知,FUNCTIONS_WORKER_PROCESS_COUNT
限制最大数量每个 Function 主机实例的工作进程数。这些实例是一种单独的虚拟机,其中 FUNCTIONS_WORKER_PROCESS_COUNT
限制分别应用于每个。
例如,如果 FUNCTIONS_WORKER_PROCESS_COUNT
设置为10,表示每个主机实例同时运行10个单独的函数。
<强> Multiple Workers
表示 Multiple Process Ids
Same Function App
这是函数的逻辑集合。
一个工作进程可以托管一个函数应用程序的所有函数,其中单一主机具有默认值作为 1
到 FUNCTIONS_WORKER_PROCESS_COUNT
Function Host 表示它是 Function App 作为 Windows/Linux 进程运行的物理/虚拟主机。
引用here有关 FUNCTIONS_WORKER_PROCESS_COUNT
机制的更多信息.
how it can affect costs.
如这个Microsoft Azure Services Pricing Calculator表示在横向扩展时将按实例收费。
在成本管理方面,横向扩展方法的增量性质非常有益。
成本增加应该在某种程度上可预测,因为组件是相同的。
横向扩展还可以让您更快地响应需求变化。
大多数情况下,可以快速添加或删除服务来满足资源需求。通过仅使用(并支付)当时所需的资源,这种灵 active 和速度可以有效地最大限度地减少支出。
引用此article了解有关成本管理以及纵向扩展和横向扩展的好处的更多信息。
关于Azure Function 工作线程与实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71867471/