ActiveMQ5.8 vs 5.15.4 性能对比

本贴最后更新于 1104 天前,其中的信息可能已经事过景迁

背景

简单描述一下版本更新点吧,5.8.0 版本发布于 2013 年 2 月 12 日,以来 jdk1.6 版本。 5.15.4 版本发布于 2018 年,最新的已经是 Artemis 版本了(也可以认为是 5.16.x)。 关于新版本的特征大家直接去官网看吧,这里不做叙述了。

环境概述

施压机器

名称 配置
cpu 2 * INTEL Xeon E5-2650 V4 12C 2.2GHZ 12core
内存 128G
网卡 万兆网卡
数量 3

被压机器

名称 配置
cpu 2 * INTEL Xeon E5-2450 8C 2.1GHZ
内存 8 * LANGCHAO PC3L-10600 16G
网卡 千兆
数量 1

测试方案

queue场景:5.8版本线程数300, 由于发送者阻塞点与原版不一致,5.15版本线程数调整为30

topic场景:5.8与5.15版本线程并发为200

压力测试

场景说明

分别使用 0.1k,0.5k,1k,5k,10k 大小消息压测上述 8 个场景

压测结果

消息大小 场景 5.8 版本 - 5.15.4 版本 -
- - 99 分位响应时间 吞吐量 99 分位响应时间 吞吐量
0.1k 1queue-1 消费 430 907.8 46 771.1
- 1queue-10 消费 311 1193.3 42 3039.3
- 1queue-50 消费 310 1198.3 63 2943.7
- 多 queue-多消费 455 3310 108 2476
- 1topic-1 订阅 451 907.6 472 844.8
- 1topic-10 订阅 664 619.3 680 601.5
- 1topic-50 订阅 40155 13.8 2680 149.5
- 多 topic-多订阅 2891(dump) 239.4 1450 605.2
0.5k 1queue-1 消费 488 805 104 540.2
- 1queue-10 消费 422 896.7 152 2116.8
- 1queue-50 消费 403 902.6 177 2119.6
- 多 queue-多消费 1130 1651.1 187 1123
- 1topic-1 订阅 629 671.9 619 672.6
- 1topic-10 订阅 734 577.0 723 570.8
- 1topic-50 订阅 42938 13.7 2754 145.2
- 多 topic-多订阅 3026 89.4 1313 492.3
1k 1queue-1 消费 498 808.4 143 416.5
- 1queue-10 消费 493 755.8 198 1572.8
- 1queue-50 消费 463 802.9 238 1622.2
- 多 queue-多消费 894 2029.5 225 724.7
- 1topic-1 订阅 744 574.4 711 585
- 1topic-10 订阅 834 500 824 505.9
- 1topic-50 订阅 41907 14.1 2906 138.8
- 多 topic-多订阅 3334 180.9 2016 444.8
5k 1queue-1 消费 977 350.2 860 120.1
- 1queue-10 消费 976 348.8 525 324.6
- 1queue-50 消费 970 350.9 430 525
- 多 queue-多消费 3342 596.6 401 178.4
- 1topic-1 订阅 1610 276.9 1165 277
- 1topic-10 订阅 1818 241.8 1830 235.8
- 1topic-50 订阅 11802 44.3 4899 47.6
- 多 topic-多订阅 5741 186.9 571 261.1
10 1queue-1 消费 1590 206.2 1878 88.8
- 1queue-10 消费 2617 207.9 828 245
- 1queue-50 消费 1571 210.4 515 307.2
- 多 queue-多消费 4867 389.8 1202 120.8
- 1topic-1 订阅 6904 120.2 2297 177.7
- 1topic-10 订阅 5729 139.2 2469 159.7
- 1topic-50 订阅 17844 21.1 9603 23.8
- 多 topic-多订阅 6775 90.2 6171 87.8

分析与结论

  1. 随着消息大小的增大,系统的处理能力也在下降,认为符合预期
  2. 在 queue 的场景下,5.15 版本的各项数据均优于 5.8 版本
  3. 在 topic 场景下,单 topic 下 1-1、1-5 场景 5.15 与 5.8 版本相差不多,1-50、多-多场景 5.15 明显优于 5.8 版本
  4. 系统极限处理瓶颈,通过上述飘红场景数据,可以看出 5.15 版本的极限性能优于 5.8 版本

补充-异常测试

  1. 慢消费不会导致其他队列的消费异常,也不会降低消费速率。并且慢消费的队列不会影响生产者。
  2. 慢消费不会导致其他主题的消费异常,也不会降低消费速率。但是慢消费着会阻塞该主题的生产者生产消息。

写在最后

欢迎大家交流讨论。 这里偷了个懒,mysql 实例并没有进行优化,后续再补充吧。

  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 628 关注
  • 消息队列
    40 引用 • 52 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • noryar
    作者

    顶一个