爱星物联——给爱星云MQTT来一次压力测试
前言
随着5G时代的来临,对于物联网的需求越来越大。大量设备接入和设备管理对网络带宽、通信协议以及平台服务架构都带来了很大挑战。如何做好以MQTT为代表的物联网协议性能测试显得尤为重要;
进行MQTT性能测试可以帮助您实现以下两个目的:
- 了解MQTT核心指标
· 不同网络环境下,消息端到端的时延;
· MQTT Broker同时保持的最大连接数;
· MQTT收发消息的TPS; - 辅助MQTT Broker选型
物联网行业里MQTT Broker有很多选择,每一款MQTT Broker的系统性能与适用场景都不尽相同。通过MQTT压测,可以帮助您更加精准地选择合适的MQTT Broker。
本次测试旨在确认4核8G内存,8M带宽下,MQTT最大连接数,每秒处理事务的能力(TPS),为下一步优化做参考,以下内容仅为测试的过程。
一、设置场景

创建MQTT连接,填写服务器地址,端口,协议,用户,如上图所示;

创建发布主题,消息内容为正常的设备关闭控制指令,共176个字符;

依次创建订阅消息,关闭连接;

压力配置,并发数为1000,采用阶梯压测方式,分3个阶梯,总压测时长10分钟。
二、测试结果

如图所示,CPU,内存使用率已达到100%,带宽8.61M(服务器实际带宽8M)
压测场景整个相关业务指标说明;



MQTT连接46379次,平均每秒建立78.66个连接,平均响应时间1.162秒左右,成功率100%;

订阅总请求45773个,平均每秒订阅77.63次,平均响应时间0.140秒左右,成功率100%;

发布总请求数46416,平均每秒订阅78.26次,平均响应时间0.0006秒,成功率100%;

发起46416次关闭连接,平均每秒发起78.26次,平均响应时间0.5秒。
三、应用服务器使用状况

服务器请求异常,APP无法登录,原正常在线设备离线。
四、测试建议
4核8G内存8M带宽,全场景1000并发下,压测10分钟,总请求184444次,平均TPS为313,最大MQTT连接数46379次,CPU、内存使用100%(建议控制在80%),发布主题消息176个字符时带宽已超过8M,无错误请求,硬件配置已达瓶颈,服务器已压爆,APP无法登录,设备离线,建议MQTT服务器和应用服务器分开部署,提高服务器带宽,此次测试平均TPS较低每秒只能处理313个请求,优化后建议并发数由400初始值往上增加查找系统瓶颈,原测试环境16G内存服务器平均TPS为1475,MQTT连接总请求数22万该数据可作为优化后的参考。
总结
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com
爱星物联IoT平台体验网址:https://open.iot-aithings.com
更多推荐



所有评论(0)