mq获取消息慢_rocketmq发送消息偶尔慢或sendKernelImpl exception

1.现象

观察接口调用耗时,偶尔会出现一笔调用耗时相对较长:超过2s,且都是发送mq的耗时。或偶尔会出现sendKernelImpl exception的错误日志,但消息可以正常消费。

错误时截图

2.环境说明

rocketmq:4.4.0

java:1.8

rocketmq master主要配置:

brokerRole=SYNC_MASTER

flushDiskType=ASYNC_FLUSH

3.初次问题排查

1)最开始怀疑发送mq代码问题,因为只有一个服务出现报错现象,其他服务只是偶尔超过2s。因为代码很少,配置也都一样,比较后排除此原因。

2)怀疑应用出现full gc。

幸好我们对应用配置了gc日志,查看出问题前后gc日志,确定没有出现full gc或youthgc,此原因也排除。

3)怀疑mq出现full gc

登录服务器,查看master、slave的gc日志,没有问题。此时陷入了迷茫……

4.查阅资料后再次排查问题

在网上搜索异常信息,网上说可能是linux虚拟内存问题,查看/var/log/message日志,发现不符。

继续查看告警时master的日志,发现store.log中有些不正常,截图如下:

master日志

继续查看slave的日志,似乎有些问题:

你可能感兴趣的:(mq获取消息慢)