1.同步双写时建议还是用ReentrantLock,将useReentrantLockWhenPutMessage属性设置为true 2.提高消息发送成功率的几个参数,主要目的就是让消息多等一会,因为在高并发情况下偶尔会有brokerBusy的异常,修改以下配置,在10W TPS下消息能全部落盘成功。
sendThreadPoolQueueCapacity
=100000 #默认
10000改为
100000提高queue的等待数量
waitTimeMillsInSendQueue
=2800#默认
200改为
2800,因为消息的默认超时时间为
3000
osPageCacheBusyTimeOutMills
=3000 #默认
1000,改为
3000
3.修改以下配置解决并发量很小时出现的发送超时的问题(4.5.2 版本之前的BUG)
haSendHeartBeatInterval
=1000#默认值是
5000,,改为
1000,让发心跳更频繁,解决主从断开带来的发消息失败的问题