RabbitMQ消息隊列(十二)-性能測試


硬件配置

宿主機用的聯想3850X6的服務器四顆E7-4850v3的處理器,DDR4內存,兩塊1.25TB的pcie固態。在宿主機上使用的事esxi5.5的虛擬化平台,在子系統中安裝RabbitMQ和測試腳本,RabbitMQ配置如下: 
CPU:24核 
內存:24GB 
硬盤:24GB固態

確定哪些參數可能影響性能:進程數、是否持久化、是否ack確認以及交換機模式。其實交換機模式更多應該影響發布消息的性能,因為在消費消息時消息已經在隊列所以影響不大。為了避免之前的一些配置影響測試我新建了一台RabbitMQ服務。

模式對性能的影響

首先我們看下不同交換機模式對新建交換機、新建隊列、綁定、發布消息等性能的影響。在測試腳本中我是for循環建立10萬交換機、循環建立10萬隊列、循環綁定10萬、發送10萬消息。有個疑問:消息發布的速度比我之前使用單獨發布消息的速度快很多,單機模式之前從來沒有超過5萬過。 

以上測試數據都是持久化的情況下的測試結果,可以看出不同的模式對於新建交換機、新建隊列、綁定等操作性能影響不大,但是在direct模式下明顯消息發布的性能比其他模式強很多,並且消息發送到相同隊列比發送到不同隊列性能稍好。

持久化對消息性能的影響

實際生產中大部分的操作一般是消息的訂閱和發布,下面對消息訂閱和發布的性能進行詳細測試。發布100萬消息。

在消息持久化模式下: 
發布:13888msg/s 
訂閱:15384msg/s

在消息非持久化模式下: 
發布:18867msg/s 
訂閱:26315msg/s


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM