我有一个在 azure 持久函数上运行的 python 应用程序。在扇出/扇入设计模式中实现了应用程序。但是,当向持久函数提交大量并行任务时,它会变得很慢。据我了解,活动函数在单个实例上运行。这使得活动函数可以共享资源以并行运行。
是否有任何配置可以将活动函数运行到每次调用活动函数的单独实例中
蟒蛇:3.11 耐用功能 扇出/扇入设计模式
寻找一种解决方案,为每次调用活动函数将活动函数运行到单独的实例中。
在向持久函数提交大量并行任务时,它会变得很慢。
默认情况下,同一协调器实例中的活动函数可以共享相同的进程和运行时环境,这可能会限制并行性并影响性能,尤其是在重负载下。
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
设置,您可以控制功能应用程序的可扩展性和并发性。