1. 程式人生 > >ActiveMQ5.8 vs 5.15.4效能對比

ActiveMQ5.8 vs 5.15.4效能對比

1.效能diff

queue場景:5.8版本執行緒數300, 由於傳送者阻塞點與原版不一致,5.15版本執行緒數調整為30

topic場景:5.8與5.15版本執行緒併發為200

1.場景1 單queue-1個消費者

1.場景說明

壓測一個queue對應一個消費者的場景,訊息大小0.05k,先後壓測5.8版本與5.15版本進行資料比對。

2.壓測結果

5.8版本 5.15版本

3.分析與結論

  1. 5.15版本總體Throughput 830.8高於5.8版本
  2. 5.15版本99分為的響應時間18ms遠遠低於5.8版本417ms
  3. cpu記憶體等機器表現上兩者相差不多
  4. tcp連結數量5.15版本比5.8版本整體表現較好

 結論:5.15版本在1個queue對應1個消費者場景效能優於5.8版本

2.場景2 單queue-10個消費者

1.場景說明

壓測一個queue對應十個消費者的場景,訊息大小0.05k,先後壓測5.8版本與5.15版本進行資料比對。

2.壓測結果

5.8版本 5.15版本

3.分析與結論

  1. 5.15版本總體Throughput3000高於5.8版本1245
  2. 5.15版本99分為的響應時間48ms遠遠低於5.8版本302ms
  3. cpu,磁碟I/O,網路I/O等5.15版本比5.8 版本高一些,考慮到2.5倍的tps認為符合預期

結論:5.15版本在1個queue對應十個消費者場景效能優於5.8版本

3.場景3 單queue-50個消費者

1.場景說明

壓測一個queue對應五十個消費者的場景,訊息大小0.05k,先後壓測5.8版本與5.15版本進行資料比對。

2.壓測結果

5.8版本 5.15版本

3.分析與結論

  1. 5.15版本總體Throughput 3305 高於5.8版本1245
  2. 5.15版本99分為的響應時間34ms遠遠低於5.8版本296ms
  3. cpu記憶體等兩個版本相差不多;網路I/O5.15版本高於5.8版本,優於tps高於5.8版本,認為符合預期

結論:5.15版本在1個queue對應50個消費者場景效能優於5.8版本

4.場景4 多queue-多個消費者

1.場景說明

壓測多個queue對應多個消費者的場景,訊息大小0.05k,先後壓測5.8版本與5.15版本進行資料比對。

2.壓測結果

5.8版本 5.15版本

3.分析與結論

  1. 5.15版本總體Throughput 3023 與5.8版本3161持平,略低於5.8版本
  2. 5.15版本99分為的響應時間51ms遠遠低於5.8版本524ms
  3. cpu記憶體等機器表現上兩者相差不多

總體結論:5.15版本在多個queue對應多個消費者場景效能優於5.8版本

5.場景5 單topic-1個訂閱者

1.場景說明

壓測一個topic對應一個訂閱者的場景,訊息大小0.05k,先後壓測5.8版本與5.15版本進行資料比對。

2.壓測結果

5.8版本 5.15版本

3.分析與結論

  1. 5.15版本總體Throughput 910 略低於 5.8版本947
  2. 5.15版本99分為的響應時間455ms遠遠低於5.8版本434ms
  3. cpu記憶體等機器表現上兩者相差不多

總體結論:5.15版本在1個topic對應1個訂閱者場景效能略低於5.8版本,不過考慮到兩者tps和響應時間相差不多,顧認為升級整體符合預期

6.場景6 單topic-5個訂閱者

1.場景說明

壓測一個topic對應五個訂閱者的場景,訊息大小0.05k,先後壓測5.8版本與5.15版本進行資料比對。

2.壓測結果&結論

5.8版本 5.15版本

3.分析與結論

  1. 5.15版本總體Throughput 605略低於5.8版本625
  2. 5.15版本99分為的響應時間680ms略高於5.8版本647ms
  3. cpu記憶體等機器表現上兩者相差不多

總體結論:5.15版本在1個topic對應5個訂閱者場景效能略低於5.8版本,不過考慮到兩者tps和響應時間相差不多,顧認為升級整體符合預期

7.場景7 一個topic-50個訂閱者

1.場景說明

壓測一個topic對應五十個訂閱者的場景,訊息大小0.05k,先後壓測5.8版本與5.15版本進行資料比對。

2.壓測結果&結論

5.8版本 5.15版本

3.分析與結論

  1. 5.15版本總體Throughput 149高於5.8版本13tps
  2. 5.15版本99分為的響應時間2675ms遠遠低於5.8版本43005ms
  3. 從資料上看很明顯在5.8版本在該場景下已經明顯超出其版本負荷

總體結論:5.15版本在1個topic對應50個訂閱者場景效能優於5.8版本,5.8版本已經明顯超出負荷。

8.場景8 多個topic-多個訂閱者

1.場景說明

壓測多個topic對應多個訂閱者的場景,訊息大小0.05k,先後壓測5.8版本與5.15版本進行資料比對。

2.壓測結果

5.8版本 5.15版本

3.分析與結論

  1. 5.15版本總體611.7 Throughput高於5.8版本212.7
  2. 5.15版本99分為的響應時間1459ms遠遠低於5.8版本3800ms
  3. 從資料上看很明顯在5.8版本在該場景下已經明顯超出其版本負荷,2分鐘後響應時間一直上升

總體結論:5.15版本在多個topic對應多個訂閱者場景效能優於5.8版本,5.8版本已經明顯超出負荷。

8.場景9 不同訊息大小表現情況&&整體效能diff結論

1.場景說明

分別使用0.1k,0.5k,1k,5k,10k大小訊息壓測上述8個場景

2.壓測結果

有與0.05k已有詳細介紹,除訊息大小外並無不同,顧此處不一一貼上圖表過來。

訊息大小 場景 5.8版本 5.15版本
99分位響應時間 Throughput 99分位響應時間 Throughput
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 239.4 該場景執行緒有dump情況 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-5訂閱 734 577.0 723 570.8
1topic-50訂閱 42938 13.7 2754 145.2
多topic-多訂閱 3026 98.4 1313 492.3
1k 1queue-1消費 498 808.4 143 416.5
1queue-10消費 493 775.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-5訂閱 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-5消費 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 1665 277
1topic-10訂閱 1818 241.8 1830 235.8
1topic-50訂閱 11802 44.3 4899 47.6
多topic-多訂閱 5741 186.9 571 216.1
10k 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-5訂閱 5729 139.2 2469 159.7
1topic-50訂閱 17844 23.1 9603 23.8
多topic-多訂閱 6775 90.2 6171 87.8

3.分析與結論

通過分析不同訊息大小與不同場景下的資料,可以看出:

  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版本

9 異常測試

1.場景說明

測試某個queue或者topic在有慢消費導致阻塞的時候對其他的佇列或者主題有無影響

2.壓測結果

5.15.4版本,queue1-3正常,queue4慢消費。訊息大小為0.5k。每個佇列5傳送者2消費者

全都正常情況 有慢消費情況

5.15.4版本,topic1-3正常,topic4慢消費。訊息大小0.5k。每個佇列5生產者2訂閱者

全部正常 有慢消費

3. 結論

慢消費不會導致其他佇列的消費異常,也不會降低消費速率。並且慢消費的佇列不會影響生產者。

慢消費不會導致其他主題的消費異常,也不會降低消費速率。但是慢消費著會阻塞該主題的生產者生產訊息。