RocketMQ老的采集指标要怎么计算:
rocketmq_broker_tps Broker级别的生产TPS
rocketmq_broker_qps Broker级别的消费TPS
对于 RocketMQ 来说,Broker 是一个重要的组件,负责维护主题的消息队列并提供消息存储与分发服务。其中 rocketmq_broker_tps
和 rocketmq_broker_qps
分别代表 Broker 级别的生产和消费吞吐量指标。
针对这两个指标,您可以采用如下的方式来进行计算:
rocketmq_broker_tps
)sendMsgSuccessCount
的指标,它可以反映出一段时间内成功发送到 Broker 的消息数量。通过监控该指标的变化趋势,并将其转化为每秒发送的消息数量,即可得出生产 TPS 值。 sum(rate(rocketmq_producer_sendmsgsuccess_total[5m])) / 5 * 60
其中, rate()
函数可以计算出给定时间内某指标的瞬时变化率;同时乘以时间窗口长度(这里是 5 分钟),将变化率转换为每秒的变化量;然后再乘以 60 秒,就可以得到每分钟的生产 TPS 值了。rocketmq_broker_qps
)pullMessageConsumeRT
的指标,它可以反映出一段时间内消费者拉取消息并完成消费的时间间隔。通过监测该指标的平均值,并将其转化为每秒消费的消息数量,即可得出消费 TPS 值。 avg_over_time(rocketmq_consumer_pullmessagert[5m]) / 5 * 60
其中, avg_over_time()
函数可以计算出给定时间段内某指标的平均值;然后同样乘以时间窗口长度(这里是 5 分钟),将平均值转换为每秒的变化量;再乘以 60 秒,就可以得到每分钟的消费 TPS 值了。RocketMQ提供了一些内置的监控指标,包括Broker级别的生产TPS(Transaction Per Second)和消费TPS(Transaction Per Second)。这些指标可以通过RocketMQ的管理界面查看,也可以通过RocketMQ提供的JMX接口获取。
以下是计算这两个指标的方法:
rocketmq_broker_tps:这是指Broker每分钟处理的交易数量。这个指标可以通过RocketMQ的JMX接口获取,具体的MBean路径是ROCKETMQ_HOME/bin/mqwebconsole/target/mqwebconsole/WEB-INF/classes/com/alibaba/rocketmq/common/StatsUtil.java
。在这个文件中,你可以找到计算TPS的代码。
rocketmq_broker_qps:这是指Broker每分钟处理的消息数量。这个指标也可以通过RocketMQ的JMX接口获取,具体的MBean路径是ROCKETMQ_HOME/bin/mqwebconsole/target/mqwebconsole/WEB-INF/classes/com/alibaba/rocketmq/store/DefaultMessageStore.java
。在这个文件中,你可以找到计算QPS的代码。
注意,这两个指标都是基于RocketMQ内部统计的数据计算的,可能会有一定的误差。如果你需要对这两个指标进行精确的计算,你可能需要自己实现相关的算法。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/