公司用的是rocketmq消息中间件,随着业务量的增长,最近偶尔会报:[TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 206ms, size of queue: 5
我已经做了版本升级,升到4.2,在网上做了大量搜索,都是泛泛而谈,改配置:waitTimeMillsInSendQueue=300 #或者更大
sendMessageThreadPoolNums=64
useReentrantLockWhenPutMessage=true
但是这样没有解决根本问题,因为我修改为300,还会出现大于300ms的报错。总不能之一把waitTimeMillsInSendQueue参数往大修改。
通过运维监控,查看了报错时,CPU确实占用上升,但还没达到50%,内存也并未占满。IO有较小波动。
但这些都不能直接导致那个问题,本人查看了rocketmq源码,使用了MappedByteBuffer,想知道是不是这里的性能问题,MappedByteBuffer有没有什么性能问题?(网上也没有找到实质性答案)
有过同样问题的大神,或者rocketmq研究比较深的,帮忙解答一下。非常感谢!!!
相关分类