MQTT服务器性能测试

  • Post author:
  • Post category:其他


MQTT

代理程序的高并发性能测试方案


代理程序的选择:

mosquitto




EMQ2.2

1.

代理程序安装

1.EMQ2.2

的安装环境和需要的库

Erlang




otp R19





EMQ2.2




emqttd-windows7-v2.2-beta.3.zip,python3.6,MQTT

库:

paho.mqtt.python-master

因为公司的文档不能贴出来,就贴个别人的EMQ2.2的安装教程:

https://blog.csdn.net/wangshuminjava/article/details/80589899

2.Mosquitto

的安装环境


代理:

mosquitto


客户端:

python3




python3-pip





paho-mqtt

mosquitto安装:

  • 目前最新的版本是1.4.14版本,将下载的

    mosquitto-1.4.14.tar.gz

    包解压;
  • 进入

    mosquitto-1.4.14

    目录下;
  • 执行

    make

    命令;
  • 执行

    make install

    命令,直到安装完成;

需要注意的是paho库的安装,需要pip,这个教程很多。

2.测试方案

1.

设备

3



一台服务器,两台客户端(一台用于多开推送者进程,一台多开发布者进程)

2.

代理的并发连接数

1




-2


万,且尽量无限接近高并发连接且是同时稳定连接


这里,因为虽然订阅者和发布者都是客户端,各

1

万是加起来


2


万连接,而发包量和订阅的主题相关的,


1





N


的关系,所以测试模式得分开,多个订阅或多个发布

3.测试


准备工作:服务器上执行

#fdisk -l;


服务器打开


套接字限制,可能还需要调整内核

tcp

参数

Raid

磁盘阵列,暂时用不到(暂时不涉及数据库的安装和部署)

4.监控负载情况


服务器程序(

broker

)保持高并发连接且高并发收发包时,服务器的实时负载情况,各项指标:

Tcp

状态 抓


established





time_wait





CPU


使用率,内存使用率,


I/O


由于各项数据,数值不同,坐标单位不同,所以为了图表对比清晰,一次性只能看少量对比,

TCP

状态


cpu


负载对比,


TCP


状态和内存对比。

5.监控方式


初期简单对比数据:


写一个脚本,让服务器运行时的各项指标,导入

Excel

或者


word


中,然后用图表对比数据。(几秒刷新一次,传输出来),效果图由于保密性,没法上传。

脚本的实现我写在另一篇博客中了:


https://blog.csdn.net/zcyzsy/article/details/80098432



接入

zabbix

,使用


zabbix


进行实时监控,可以监控几个服务,然后通过浏览器在


web


中,实时查看多项指标的图表,且可以监控某项服务,再利用脚本恢复某些瘫痪的服务


前期只需查看负载情况和性能,所以个人觉得

zabbix

有点牛刀小用了。

(最近的几篇都是实习时候的自己的笔记,因为公司的保密性,所以一些效果图片和核心的文档没法分享,只能贴出自己写的这部分,抱歉)



版权声明:本文为zcyzsy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。