RocketMQ性能白皮書
更新時間 2024-04-07 09:12:47
最近更新時間: 2024-04-07 09:12:47
分享文章
測試場景
本章節主要測試RocketMQ不同產品規格在發送1KB大小的消息,實例的網絡入流量、網絡出流量、消息生產速率、消息消費速率、CPU核均負載和內存使用率。
測試環境
購買實例
| 名稱 | 規格 | 存儲空間 |
|---|---|---|
| rocketmq-01 | c7.xlarge.2 4C8G | 超高I/O 500GB |
| rocketmq-02 | c7.2xlarge.2 8C16G | 超高I/O 500GB |
| rocketmq-03 | c7.4xlarge.2 16C32G | 超高I/O 500GB |
控制臺創建主題
| 名稱 | 權限 | 關聯代理 | 隊列個數 |
|---|---|---|---|
| topic-01 | 發布+訂閱 | broker-1 | 8 |
控制臺創建消費組
| 名稱 | 關聯代理 | 最大重試次數 | 是否允許以廣播模式消費 |
|---|---|---|---|
| group-01 | broker-1 | 16 | 否 |
測試工具準備
購買1臺ECS服務器(區域、可用區、虛擬私有云、子網、安全組與RocketMQ實例保持一致,Linux系統),安裝jdk,并配置環境變量
tar?-zxvf?jdk-8u131-linux-x64.tar.gz
vi?/etc/profile
#追加以下內容
export?JAVA_HOME=/root/jdk1.8.0_131
export?PATH=$JAVA_HOME/bin:$PATH
#生效配置
source?/etc/profile
下載測試工具
wget?//dist.apache.org/repos/dist/release/rocketmq/5.1.4/rocketmq-all-5.1.4-bin-release.zip
解壓測試工具
unzip?rocketmq-all-5.1.4-bin-release.zip
測試命令
消費命令
sh?consumer.sh?-n?"${namesrv接入地址}"?-t?${Topic名稱}?-g?${消費組名稱}
- namesrv接入地址:購買RocketMQ實例后,獲取實例的namesrv接入地址
- Topic名稱:創建Topic時設置的Topic名稱
- 消費組名稱:創建消費組時設置的消費組名稱
生產命令
sh?producer.sh?-n?"${namesrv接入地址}"?-t?${Topic名稱}?-s?1024?-w?${生產者線程數}
- namesrv接入地址:購買RocketMQ實例后,獲取實例的namesrv接入地址
- Topic名稱:創建Topic時設置的Topic名稱
- 生產者線程數:測試s7.xlarge.4,s7.2xlarge.4,s7.4xlarge.4,c7.xlarge.22時,生產者線程數輸入256;測試c7.2xlarge.2,c7.4xlarge.2時,生產者線程數輸入640。
關閉命令
#關閉生產者
sh?shutdown.sh?producer
#關閉消費者
sh?shutdown.sh?consumer
測試結果
增強型云主機
| 性能指標 | c7.xlarge.2 4C8G | c7.2xlarge.2 8C16G | c7.4xlarge.2 16C32G |
|---|---|---|---|
| 消息生產速率 | 72216 個/秒 | 125168 個/秒 | 128226 個/秒 |
| 消息消費速率 | 72142 個/秒 | 125080 個/秒 | 128316 個/秒 |
| 網絡入流量 | 97.12 MB/S | 169.42 MB/S | 173.52MB/S |
| 網絡出流量 | 196.39 MB/S | 342.25 MB/S | 348.51 MB/S |
| CPU使用率 | 76% | 61% | 38% |
| CPU核均負載 | 1.43 | 0.825 | 0.423 |
| 內存使用率 | 55% | 51% | 34% |