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基准性能测试对比


分享到:


相關文章: