本测试由《深圳市**智能科技股份有限公司》技术员:入云鲲 作为第三方使用研究提供用例及数据
使用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服务器内存,即可达到千万并发,以此为依据进行测试:
EMQ号称8核32G内存,即可达到130万并发连接,以此为依据进行测试:
EMQ测试依据二:
测试过程实录
简述:分别测试Coolpy、EMQ在服务器处理器为4核、内存大小分别在1G、2G、4G、6G下,所支持的最大并发连接数。
测试coolpy7
在服务器内存为1G条件下进行,测试
测试结果1G内存,支持5.8w并发连接。
在服务器内存为2G条件下进行,测试
测试结果2G内存,支持10.7w并发连接。
在服务器内存为4G条件下进行,测试
测试结果4G内存,支持26w并发连接。
在服务器内存为6G条件下进行,测试
测试结果6G内存,支持40.1w并发连接
在40.1w连接下,使用MQTT客户端测试,coopy7的通信能力:
测试EMQ
1)在服务器内存为1G条件下进行,测试
测试结果1G内存,支持7.0097w并发连接。
2)在服务器内存为2G条件下进行,测试
测试结果2G内存,支持14.2294w并发连接。
3)在服务器内存为4G条件下进行,测试
测试结果4G内存,支持20.3173w并发连接。
4)在服务器内存为6G条件下进行,测试
测试结果6G内存,支持23.9017w并发连接。
测试结果汇总与分析
备注:由于测试过程中,所用电脑的内存为16G,并测试要求要MQTT服务器的内存要小于客户端连接的总内存,故最大测试MQTT服务器内存只能为6G
结论:随着MQTT内存的增大,支持的连接数Coolpy7优于EMQ差距越来越明显。