MQTT服务器性能测试

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

代理程序的选择:mosquitto EMQ2.2

1.代理程序安装

1.EMQ2.2 的安装环境和需要的库

 Erlangotp R19EMQ2.2emqttd-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

客户端:python3python3-pippaho-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万连接,而发包量和订阅的主题相关的,1N的关系,所以测试模式得分开,多个订阅或多个发布

 

3.测试

准备工作:服务器上执行  #fdisk -l;

服务器打开 套接字限制,可能还需要调整内核tcp参数

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

 

4.监控负载情况

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

Tcp 状态 抓 establishedtime_waitCPU使用率,内存使用率,I/O

由于各项数据,数值不同,坐标单位不同,所以为了图表对比清晰,一次性只能看少量对比,TCP状态cpu负载对比,TCP状态和内存对比。

 

5.监控方式

 初期简单对比数据:

   写一个脚本,让服务器运行时的各项指标,导入Excel或者word中,然后用图表对比数据。(几秒刷新一次,传输出来),效果图由于保密性,没法上传。

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

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

  接入zabbix,使用zabbix进行实时监控,可以监控几个服务,然后通过浏览器在web中,实时查看多项指标的图表,且可以监控某项服务,再利用脚本恢复某些瘫痪的服务

前期只需查看负载情况和性能,所以个人觉得zabbix有点牛刀小用了。

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

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Locust 可以用于进行 MQTT 协议的性能测试。下面是一些关于使用 Locust 进行 MQTT 性能测试的步骤: 1. 安装 Locust:首先,确保已经安装了 Python 和 Locust。您可以使用 pip 命令来安装 Locust: ``` pip install locust ``` 2. 编写测试脚本:创建一个 Python 文件,例如 `mqtt_locustfile.py`,用于编写 Locust 的 MQTT 测试脚本。在脚本中,您需要导入必要的模块和库,并定义 Locust 的 MQTT 用户行为。 3. 配置 MQTT 连接:在测试脚本中,您需要配置 MQTT 服务器的连接信息,包括服务器地址、端口、用户名和密码等。 4. 定义用户行为:使用 Locust 提供的装饰器和函数来定义用户行为。您可以模拟用户发布消息、订阅主题等操作。例如,使用 `@task` 装饰器定义任务,并使用 `client.publish()` 函数来发布消息。 5. 设置性能测试参数:您可以设置并发用户数、用户生成速率等参数,以及消息的大小、频率等参数。 6. 启动 Locust:在命令行中导航到测试脚本所在的目录,并输入以下命令来启动 Locust: ``` locust -f mqtt_locustfile.py ``` 这将启动 Locust 并提供一个 web 界面。 7. 配置并运行测试:通过 Locust 的 web 界面,您可以配置并运行测试。您可以设置并发用户数、用户生成速率等参数,并监控测试的指标和结果。 8. 分析测试结果:Locust 提供了丰富的测试结果和统计信息,您可以通过 web 界面或者命令行查看并分析测试结果,以评估 MQTT 服务器的性能。 这些是使用 Locust 进行 MQTT 性能测试的基本步骤。希望对您有所帮助!如有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值