Coolpy7與Emqtt基準性能測試對比

本測試由《深圳市**智能科技股份有限公司》技術員:入雲鯤 作為第三方使用研究提供用例及數據

使用Coolpy7_benchmark測試客戶端測試一百萬級連接

# 下載測試工具

git clone https://github.com/Coolpy7/coolpy7_benchmark.git

# 進入bin文件夾

cd bin

# 啟動Coolpy7靜連接測試工具

# 參數url: Coolpy7服務端所在服務器ip地址,默認端口號:1883

# 參數workers: 需要創建的客戶端連接數量

# 參數cid: mqtt連接客戶端(ClientId)前綴,工具會自動以cid+WorkersId作為連接clientid值

# 參數topic: 連接成功後訂閱的topic主題(支持以%i取得workersid:例: mytopic%i)不進行訂閱測試填寫null字符串

# 參數keepalive: 連接ping時間間隔

# 參數clear: mqtt客戶端連接的clearsession屬性,當設置為true時重連時不能再次訂閱qos0以上的主題

# 以下例示建立連接到192.168.200.238所在的Coolpy7服務器端,並創建400萬個MQTT客戶端連接

./go_build_cp7_bench_sub_go_linux -workers=60000 -cid=ruyun -topic=null -qos=0 -url=tcp://192.168.4.97:1883 -keepalive=60000s -clear=true

Coopy7號稱32G服務器內存,即可達到千萬併發,以此為依據進行測試:

Coolpy7與Emqtt基準性能測試對比

EMQ號稱8核32G內存,即可達到130萬併發連接,以此為依據進行測試:

Coolpy7與Emqtt基準性能測試對比

EMQ測試依據二:

Coolpy7與Emqtt基準性能測試對比

測試過程實錄

簡述:分別測試Coolpy、EMQ在服務器處理器為4核、內存大小分別在1G、2G、4G、6G下,所支持的最大併發連接數。

測試coolpy7

在服務器內存為1G條件下進行,測試

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

測試結果1G內存,支持5.8w併發連接。

在服務器內存為2G條件下進行,測試

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

測試結果2G內存,支持10.7w併發連接。

在服務器內存為4G條件下進行,測試

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

測試結果4G內存,支持26w併發連接。

在服務器內存為6G條件下進行,測試

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

Coolpy7與Emqtt基準性能測試對比

測試結果6G內存,支持40.1w併發連接

在40.1w連接下,使用MQTT客戶端測試,coopy7的通信能力:

Coolpy7與Emqtt基準性能測試對比

測試EMQ

1)在服務器內存為1G條件下進行,測試

Coolpy7與Emqtt基準性能測試對比

測試結果1G內存,支持7.0097w併發連接。

2)在服務器內存為2G條件下進行,測試

Coolpy7與Emqtt基準性能測試對比

測試結果2G內存,支持14.2294w併發連接。

3)在服務器內存為4G條件下進行,測試

Coolpy7與Emqtt基準性能測試對比

測試結果4G內存,支持20.3173w併發連接。

4)在服務器內存為6G條件下進行,測試

Coolpy7與Emqtt基準性能測試對比

測試結果6G內存,支持23.9017w併發連接。

測試結果彙總與分析

Coolpy7與Emqtt基準性能測試對比

備註:由於測試過程中,所用電腦的內存為16G,並測試要求要MQTT服務器的內存要小於客戶端連接的總內存,故最大測試MQTT服務器內存只能為6G

結論:隨著MQTT內存的增大,支持的連接數Coolpy7優於EMQ差距越來越明顯。

Coolpy7與Emqtt基準性能測試對比


分享到:


相關文章: