- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个队列处理器,它从 ServiceBus 队列中检索所有消息。我想知道如何确定 MessageReceiver PrefetchCount和 ReceiveBatch messageCount以优化性能。我目前将它们设置为任意数字 500,如下所示:
var receiverFactory = MessagingFactory.CreateFromConnectionString("ConnectionString");
var receiver = await receiverFactory.CreateMessageReceiverAsync("QueueName", ReceiveMode.PeekLock);
receiver.PrefetchCount = 500;
bool loopBatch = true;
while (loopBatch)
{
var tempMessages = await receiver.ReceiveBatchAsync(500, TimeSpan.FromSeconds(1));
// Do some message processing...
loopBatch = tempMessages.Any();
}
运行时,我发现我的批处理通常需要时间“预热”,检索诸如“1, 1, 1, 1, 1, 1, 1, 1, 125, 125, 125, 125.. .”,批量检索数突然跳得更高。
When using the default lock expiration of 60 seconds, a good value for SubscriptionClient.PrefetchCount is 20 times the maximum processing rates of all receivers of the factory. For example, a factory creates 3 receivers, and each receiver can process up to 10 messages per second. The prefetch count should not exceed 20 X 3 X 10 = 600. By default, QueueClient.PrefetchCount is set to 0, which means that no additional messages are fetched from the service.
当批量检索似乎一次检索的消息数量差异很大时,我真的不明白如何确定接收者的“每秒消息数”。任何帮助将不胜感激。
最佳答案
I don't really understand how to determine the receiver's "messages per second" when the batch retrieval seems to retrieve widely-varying numbers of messages at a time.
预取在使用 OnMessage API 的场景中更有意义。在这种情况下,会注册一个回调,该回调接受一条消息进行处理,您可以估计该消息的平均处理时间。 OnMessage API 允许定义将运行多少并发回调。如果知道有源源不断的传入消息流,那么逐一检索消息的效率将极其低下。因此,PrefetchCount
用于指定客户端应在后台“批量”检索多少条消息,以将往返保存回服务器。
关于c# - 如何确定 Azure ServiceBus PrefetchCount 和 ReceiveBatch 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48694668/
Microsoft 将于 2021 年 11 月停止支持服务总线的经典 API(如 here 所述) 在我们的代码中,我们使用 WindowsAzure.ServiceBus包裹。这是一个 ol 软件
我正在迁移到 Azure.Messaging.ServiceBus,并注意到现在不再有名为 Label 的属性 这是一个巨大的问题,因为我们的服务总线规则中使用标签来过滤订阅上的消息。 使用 Azur
我正在迁移到 Azure.Messaging.ServiceBus,并注意到现在不再有名为 Label 的属性 这是一个巨大的问题,因为我们的服务总线规则中使用标签来过滤订阅上的消息。 使用 Azur
我创建了一个非常简单的控制台应用程序,它连接到 Azure ServiceBus 并发送一条消息。我尝试了 Microsoft 的最新库 (Microsoft.Azure.ServiceBus),但无
我有一个使用 Microsoft.Azure.ServiceBus 的消息发布者,需要将其替换为 Azure.Messaging.ServiceBus,因为它现已弃用。 这是代码: using Mic
我(尝试)使用此代码来创建 ServiceBus 队列: using Azure.Messaging.ServiceBus; using Azure.Messaging.ServiceBus.Admi
我正在尝试更新此函数以使用 Azure.Messaging.ServiceBus 并完全删除 Microsoft.Azure.ServiceBus,但似乎找不到任何相关资源。有人知道如何使用这个包向主
我(尝试)使用此代码来创建 ServiceBus 队列: using Azure.Messaging.ServiceBus; using Azure.Messaging.ServiceBus.Admi
我正在尝试更新此函数以使用 Azure.Messaging.ServiceBus 并完全删除 Microsoft.Azure.ServiceBus,但似乎找不到任何相关资源。有人知道如何使用这个包向主
我的客户端是在框架 4.5.1 上运行的 WebForm(使用 Microsoft.ServiceBus 1_1,我的服务器是在 azure 上运行的 .netcore。 服务总线在 Azure 上运
我的客户端是在框架 4.5.1 上运行的 WebForm(使用 Microsoft.ServiceBus 1_1,我的服务器是在 azure 上运行的 .netcore。 服务总线在 Azure 上运
我已开始使用 Azure 中的 Azure 服务总线。通过互联网上的一些引用资料,人们似乎使用 Microsoft.ServiceBus.Messaging 中的 BrokeredMessage 类,
我有一段时间编写的客户端使用旧库并调用 GetBody()接收消息时读取正文。 现在我有了新客户 Microsoft.Azure.ServiceBus (发送消息)据我所知总是使用 Stream .
我有几个网站在 Azure 中运行,大量使用 ServiceBus(也在 Azure 中托管),全部位于一个区域。 有时(每 2-3 天一次)我同时在所有网站上出现相同的错误(在阅读/等待消息期间):
我知道 Rebus 完全有能力将消息从 A 点传输到 B(使用 MSMQ 作为传输层)。为了让事情完全清楚,Rebus 是否也能够进行一对多消息传递,即从 A 点发送的消息应该在 B 点和 C 点结束
在 SOA 项目中使用服务总线架构的优缺点是什么? 您会推荐哪些建议的开源服务总线平台? 提前致谢 最佳答案 我认为服务总线的优缺点与您项目中的要求有关。它可以根据需要进行调整。 您可以使用 JMS
在代码中我需要原子地: //write to a database table //publish EventA to service bus //write to another database
我对使用服务总线和其他 Azure 功能还很陌生。在 Azure 门户上手动创建服务总线后,我尝试弄清楚如何自动实现这一点。经过一段时间的阅读后,我认为使用 azure 资源管理器应该是正确的选择。仅
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我正在将 Microsoft Azure ServiceBus 用于队列消息,并使用 WCF 进行订阅。我正在尝试实现重试逻辑。我使用 Peak/Lock 查看消息,然后必须对消息进行一些本地处理。如
我是一名优秀的程序员,十分优秀!