如何获取从MessagingFactory Azure创建的接收方编号的详细信息

时间:2018-06-22 05:39:19

标签: c# azure azureservicebus

我看过一些类似下面的文章,建议计算PrefetchCount。

使用默认的60秒锁定到期时,SubscriptionClient.PrefetchCount的一个很好的值是工厂所有接收器的最大处理速率的20倍。例如,一个工厂创建3个接收方,每个接收方每秒最多可处理10条消息。预取计数不应超过20 * 3 * 10 = 600。

但我仍然对以下事情一无所知,

  1. 如何获取工厂创建的接收方计数?
  2. 如何获取收件人处理的消息数量的详细信息?

谢谢。

1 个答案:

答案 0 :(得分:0)

在您的代码中创建了接收器,因此您应该知道有多少个接收器。

这并不重要。您只需要知道在一秒钟内(每个工厂)总共可以处理多少条消息。您可以为此添加一个自定义性能计数器,或者仅在一个工厂中运行测试,然后在门户中查看Azure Monitor统计信息。

如果要显式调用ReceiveBatch,请确保将PrefetchCount的值设置为大于批处理大小。更高多少-取决于您的时间安排,但目标是在每次调用ReceiveBatch时始终有一个预取的批次。

最后,我建议此建议是近似的,您不必严格遵循公式。稍微玩PrefetchCount,然后确定哪个值可为您带来最佳性能。