WebJobs和服务总线触发的功能-性能注意事项

问题描述

我有一个WebJobs,其中包含几乎10个不同的功能,每个功能都是由ServiceBusTrigger触发的,这些功能似乎来自不同的Service Bus队列。

我希望具有高吞吐量,因此我进行了配置:

  • PrefetchCount为200
  • MaxConcurrentCalls达到100

在WebJob Main方法上,如下所示:

var host = new JobHost(config);
config.UseServiceBus(new ServiceBusConfiguration()
{
    PrefetchCount = 200,MessageOptions = new OnMessageOptions() { MaxConcurrentCalls = 100 },});

我认为此PrefetchCount和ConcurrentCalls在此WebJob中包含的所有功能之间共享。这是正确的假设吗?

如果是,为了使单个函数的MaxConcurrentCalls为100,将每个函数都带到不同的专用WebJob是唯一的解决方案吗?

解决方法

这些设置在主机范围内,请参见herehere。我不确定100%,但是您可以创建自己的MessageReceiver,此repo有一些示例。如果它只是一个功能,我将其拆分为自己的WebJob主机。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...