当前位置: 首页 > 知识库问答 >
问题:

Azure函数工作者与实例

白永昌
2023-03-14

我目前使用的是Azure Premium服务应用程序(P3v3)。我发现我的函数需要一些提升,所以我决定看看如何配置缩放。我发现了两个可用的选项:

    < li >在配置部分中设置< code > FUNCTIONS _ WORKER _ PROCESS _ COUNT < li >配置横向扩展菜单中的实例数量

但是实例和工人之间有什么区别呢?还没有找到任何关于这一点的信息,或者它如何影响成本。

共有1个答案

杜诚
2023-03-14

实例(扩展菜单)和工作程序(FUNCTIONS_WORKER_PROCESS_COUNT)之间有什么区别?

这些Microsoft文档旨在帮助您了解成本管理(计费)和功能方面的工作人员和实例:

MSFTFUNCTIONS_WORKER_PROCESS_COUNT的来源:

  1. Azure函数-函数应用程序设置-函数_worker_process_count
  2. Azure函数-最佳实践-函数_WORKER_PROCESS_COUNT

Azure Functions Premium Plan Scale-Out Instances 的 MSFT 源:

  1. Azure功能托管选项信息
  2. Azure功能高级计划实例计费

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

例如,如果FUNCTIONS_WORKER_PROCESS_COUNT设置为 10,则表示每个主机实例同时运行 10 个单独的函数。

多个辅助角色是指相同功能应用程序多个进程ID,它是功能的逻辑集合。

一个工作进程可以托管一个函数应用程序的所有函数,其中单个主机具有< code>1到< code > FUNCTIONS _ Worker _ Process _ COUNT 的默认值,函数主机意味着它是函数应用程序作为Windows/Linux进程运行的物理/虚拟主机。

有关<code>FUNCTIONS_WORKER_PROCESS_COUNT

它如何影响成本。

正如此 Microsoft Azure 服务定价计算器所说,横向扩展时将按实例收费。

就成本管理而言,横向扩展方法的增量性质非常有益。

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

横向扩展还允许您更快地响应需求变化。

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

有关成本管理以及扩展和扩展的好处的更多信息,请参阅本文。

 类似资料:
  • 我试图使用.NET5运行一个Azure功能项目(v3),但是我得到了一个错误,没有找到作业功能。确切的错误是: 未找到作业函数。请尝试将作业类和方法公开。如果使用绑定扩展(例如Azure存储、ServiceBus、计时器等),请确保已在启动代码(例如builder.AddAzureStorage()、builder.AddServiceBus()、builder.AddTimers()等)中调用扩

  • 我正在用Azure函数做一个小POC。我已经从VS模板创建了一个简单的HttpTrigger函数,如果我在localhost中debbug都可以完美地工作,但如果我在Azure中部署,当我试图启动该函数时,我会遇到一个错误: 发生了一个错误。有关更多信息,请检查日志中的错误ID为24D8E48F-D925-45AD-82CF-F767Decc5F6F 如果我签入Insights,错误是: 调用堆栈

  • 我试图理解当以azure工作者角色托管消息队列使用者时的最佳实践。我有许多不同类型消息使用者,它们订阅不同的azure服务总线订阅(或者队列,如果您愿意这样称呼的话)。我想知道是应该在一个Worker角色中为每个使用者实例化多个线程,还是应该为每个使用者部署多个Worker角色。

  • 据我所知,Azure函数似乎与Azure Webjobs特性重叠,我很难理解何时在函数和Webjobs之间做出选择: > 与Webjobs不同的是,函数只能被触发,它不是为了运行连续的过程而设计的(但您可以编写代码来创建连续的函数)。 您可以使用多种语言(C#、Node.js、python...)编写Webjobs和函数,但您可以从Azure portal编写函数,这样开发、测试和部署函数就更容易

  • 我有下面的搜索片段,当我只使用mysql表中的value1和value2数据时,它就工作了。 当我添加到下面的例子中的value e1r和value e2r的查询中,并尝试在页面上进行搜索时,它会给我这个错误这意味着我在查询中有一个错误。 我到底做错了什么?我能得到一点帮助吗?谢谢! 注意:我的问题不是关于给定的错误。