Python Azure 持久函数性能问题

问题描述 投票:0回答:1

我有一个在 azure 持久函数上运行的 python 应用程序。在扇出/扇入设计模式中实现了应用程序。但是,当向持久函数提交大量并行任务时,它会变得很慢。据我了解,活动函数在单个实例上运行。这使得活动函数可以共享资源以并行运行。

是否有任何配置可以将活动函数运行到每次调用活动函数的单独实例中

蟒蛇:3.11 耐用功能 扇出/扇入设计模式

寻找一种解决方案,为每次调用活动函数将活动函数运行到单独的实例中。

python azure-functions azure-durable-functions
1个回答
0
投票

在向持久函数提交大量并行任务时,它会变得很慢。

默认情况下,同一协调器实例中的活动函数可以共享相同的进程和运行时环境,这可能会限制并行性并影响性能,尤其是在重负载下。

  • 通过对 Azure Functions 使用
    Premium App Service Plan
    ,可以更好地控制缩放和资源,配置处理传入请求的实例数量,从而实现更好的活动函数并行性。
  • 在活动函数的
    function.json
    文件中,可以配置
    batchSize
    maxBatchSize
    设置来控制可以并行执行的活动函数实例数量。可以调整工作量要求。 下面给出了 function.json 文件的活动函数中的示例批量大小:

Function.json:

{
  "bindings": [
    {
      "name": "input",
      "type": "activityTrigger",
      "direction": "in"
    }
  ],
  "batchSize": 100,
  "maxBatchSize": 100
}

  • 按照要求
    manually can be change the batchSize for increase the scalability and performance.
  • 通过调整
    WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
    设置,您可以控制功能应用程序的可扩展性和并发性。
© www.soinside.com 2019 - 2024. All rights reserved.