我们正在使用业务流程功能的扇出功能在Azure耐用功能中运行大型仿真。
我们期望的行为是数字活动功能实例迅速提供以尽快处理整个扇出活动。
相反,我们看到的是实例数量增长到达到活动请求的恒定吞吐量的水平,并且不会再增长。虽然这确实可以消除积压的任务,但我们确实希望尽快处理这些任务。
例如,我们希望200个实例在短短1分钟内完成,而不是在10分钟内处理大约25个实例。
我们将Azure函数2.0与耐用函数扩展一起使用。
我们的主机文件在下面
{
"version": "2.0",
"extensions": {
"durableTask": {
"controlQueueBatchSize": 1,
"maxConcurrentActivityFunctions": 1,
"maxQueuePollingInterval": "00:00:02"
}
}
}
我们将maxConcurrentActivityFunctions
设置为1,以使每个实例一次处理1个任务,因为这些任务需要大量处理器。
我们将controlQueueBatchSize
设置为1,以使每个实例一次仅执行1个任务,其余任务留在队列中。我们发现这确实导致缩放增加了实例数。
任何有关如何使Azure功能提供更多节点的建议将不胜感激。