前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >RocketMQ 这样做,压测后性能提高 30%

RocketMQ 这样做,压测后性能提高 30%

作者头像
用户1263954
发布2021-12-21 18:33:28
发布2021-12-21 18:33:28
8460
举报
文章被收录于专栏:IT技术精选文摘IT技术精选文摘

若有收获,请记得分享和转发哦

从官方这边获悉,RocketMQ在4.9.1版本中对消息发送进行了大量的优化,性能提升十分显著,接下来请跟着我一起来欣赏大神们的杰作。

根据RocketMQ4.9.1的更新日志,我们从中提取到关于消息发送性能优化的【Issues:2883】, 具体优化点如截图所示:

首先先尝试对上述优化点做一个简单的介绍:

  • 对WaitNotifyObject的锁进行优化(item2)
  • 移除HAService中的锁(item3)
  • 移除GroupCommitService中的锁(item4)
  • 消除HA中不必要的数组拷贝(item5)
  • 调整消息发送几个参数的默认值(item7)
    • sendMessageThreadPoolNums
    • useReentrantLockWhenPutMessage
    • flushCommitLogTimed
    • endTransactionThreadPoolNums
  • 减少锁的作用范围(item8-12)

通过阅读上述的变更,总结出优化手段主要包括如下三点:

  • 移除不必要的锁
  • 降低锁粒度(范围)
  • 修改消息发送相关参数

接下来结合源码,从中挑选具有代表性功能进行详细剖析,一起领悟Java高并发编程的魅力。

新版本主要是可通过调整发送线程池来动态调节事务消息的值,这个大家可以根据压测结果动态调整。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术精选文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档