首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rabbit :提高队列刷新速度

Rabbit :提高队列刷新速度
EN

Stack Overflow用户
提问于 2013-03-28 18:30:00
回答 1查看 214关注 0票数 0

我有一个保存持久消息的持久队列。消息以大约每秒10条消息的速率到达队列。

客户端无法以该速率获取这些消息。结果,服务器上的队列不断增长。

每条消息不到1KB,并且我在服务器和我的机器之间有一条健康的2 Mbps线路。使用网络监控实用程序时,我发现它几乎没有使用任何带宽。

到目前为止,客户端没有对消息执行任何操作,只是将它们打印到控制台,因此客户端的处理时间几乎为0。

其他一些细节:我使用的是一个java客户端。我已经将客户端设置为预取10000条消息。(也尝试使用默认值)往返时间约为350ms。消息是单独确认的。

可用的资源没有得到充分利用,在我看来,每秒10条消息几乎不是什么负载。如何加快速度,以便将队列中的消息更快地传输到客户端。可能是使用了某种批处理。

EN

回答 1

Stack Overflow用户

发布于 2013-03-28 18:35:17

如果您每隔350ms间接确认一次消息,我预计消费者可能会达到大约1/0.35或每秒2.9条消息。然而,协议可能不是那么有效,它可能需要两次往返到服务器来确认消息并获取下一条消息。即每秒1.4条消息可能更现实。

350ms的往返时间是非常高的,你可以在这段时间内环游世界并返回,所以简单的解决方案可能不是最适合你的。例如,伦敦,纽约,->。

我会试着让你的客户本地有一个代理。这样,往返就是您的客户和本地经纪人之间的往返。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15679461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档