我有一个azure函数,它使用动态消费计划来监听服务总线队列触发器。基于host.json配置的这个文档...
https://github.com/Azure/azure-webjobs-sdk-script/wiki/host.json
...您可以设置以下值
"serviceBus": {
// The maximum number of concurrent calls to the callback the message
// pump should initiate. The default is 16.
"maxConcurrentCalls": 16,
// The default PrefetchCount that will be used by the underlying MessageReceiver.
"prefetchCount": 100
},
是否有任何关于设置上述功能的文档 - 特别是使用消费计划。
服务总线性能最佳实践文档建议:
https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-performance-improvements
当使用60秒的默认锁定到期时,> SubscriptionClient.PrefetchCount的良好值是>工厂的所有接收器的最大处理速率的20倍。例如,工厂创建3个接收器,并且>每个接收器每秒可处理多达10个消息。预取计数>不应超过20 * 3 * 10 = 600.默认情况下,QueueClient.PrefetchCount设置为> 0,这意味着不会从服务中提取其他消息。
有人可以了解一下这些/应该如何在功能中使用?
谢谢!
答案 0 :(得分:2)
查看ASB code for Azure WebJobs(函数的基础),看起来已经创建了一个接收器。因此,您看到的设置会考虑创建的单个接收器。
ASB性能文档描述了您创建自己的消息泵并控制工厂和接收器数量的场景。