如何测量从RabbitMQ中取出数据足够好的频率?

如何测量从RabbitMQ中取出数据足够好的频率?,rabbitmq,activemq,Rabbitmq,Activemq,我在服务器上运行RabbitMQ,有一些脚本可以将数据插入其中。我知道插入数据的大致频率,但它不仅是近似的,而且变化很大 我如何知道另一个脚本必须多久从RabbitMQ中取出一次数据 如果第二个脚本以低于需要的速度从RabbitMQ中取出数据,会发生什么情况 如何测量频率是否足够好 我如何知道另一个脚本必须多久从RabbitMQ中取出一次数据 您应该以大于或等于消息发布速率的速率使用队列中的消息。RabbitMQ报告发布率;但是,您需要从应用程序的负载测试中得到合理的估计 如果第二个脚本以低

我在服务器上运行RabbitMQ,有一些脚本可以将数据插入其中。我知道插入数据的大致频率,但它不仅是近似的,而且变化很大

  • 我如何知道另一个脚本必须多久从RabbitMQ中取出一次数据

  • 如果第二个脚本以低于需要的速度从RabbitMQ中取出数据,会发生什么情况

  • 如何测量频率是否足够好

我如何知道另一个脚本必须多久从RabbitMQ中取出一次数据

您应该以大于或等于消息发布速率的速率使用队列中的消息。RabbitMQ报告发布率;但是,您需要从应用程序的负载测试中得到合理的估计

如果第二个脚本以低于需要的速度从RabbitMQ中取出数据,会发生什么情况

在短期内,队列中的消息数量将增加,处理时间也将增加(想想当更多的人排队前往迪斯尼的太空山时会发生什么)。从长远来看,系统将不稳定,因为队列将无限增加,最终导致队列失败,以及其他实际后果(将此视为太空山崩溃的情况,但仍允许人们进入队列)

如何测量频率是否足够好


从只提供信息的角度来看,您可以使用RabbitMQ管理插件自己监控队列。如果您需要自动化流程来产生更多的工作人员,那么必须将这些流程集成到RabbitMQ管理API中。如何做到这一点是许多指导文章的主题。

可用的最简单的单一指标是队列大小。如果队列开始增长,说明处理速度不够快。