RocketMQ积压排查

一、引言

        有个接收订单mq进行数据实时分析汇总的服务出现了积压,很明显是处理速度跟不上订单下单速度,要排查的重点就是影响节点处理速度的因素,下面分析一下博主的排查过程。

二、排查 

 1、qps

        首先看了一下节点的qps,订单的qps一直高,并没有太大的区别。

2、mysql

        到阿里云看了一下数据库的情况,没有慢sql,不会影响处理速度。

3、jvm

        jvm如果经常发生full gc,就会stop the world影响节点处理情况,但是看看监控没什么问题。

4、节点

        把节点监控时间拉长,发现了问题。

节点正常消费mq在34ms左右

 凌晨处理速度慢到500~600ms

一段时间之后平均处理速度在200~300ms左右 ,但是也远远超出正常处理速度

 

集群增加两个节点之后,其他三个节点毫无压力,172.17.74.80的处理速度仍然在200~300ms左右 

 

 节点重启之后,处理速度恢复正常。

 三、分析

        只有这个节点处理速度变慢是很奇怪的事情,凌晨出现指明了方向,要看看有什么不同发生在凌晨,最后问到了dba那边,redis在那个时间点升级过,之后节点处理速度就慢如老牛。

        服务处理订单mq时使用了redis分布式锁,说明升级引起了这个节点连接redis耗时。但是升级为什么会引起客户端连接耗时?为什么只有其中一个节点连接耗时?,网上没有找到相关的资料,而且这种情况没法复现,也就没法做各种测试进行确定。

四、总结

        如果有redis或者mysql、mongo之类升级过后,节点平时正常功能产生了问题,可以将节点重启看是否能解决。

        排查问题的过程其实是推测加上试错的过程,只要不影响业务就可以尝试去操作。

猜你喜欢

转载自blog.csdn.net/m0_69270256/article/details/125632642