EMQTT测试--压力测试

来源:互联网 发布:同志软件aloha 编辑:程序博客网 时间:2024/05/01 19:10

之前写过一篇是关于emqtt安装和测试的,不过是在windows上
这次介绍一下压力测试
压力测试选择emqtt官方推荐的emqtt_benchmark

emqtt官网推荐

emqtt_benchmark(MQTT连接测试工具)

github项目地址

emqtt ubuntu 环境安装

测试服务器是 Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic x86_64)

根据自己的服务器版本下载相关的emqtt

下载之后解压即可

进入解压目录 并启动emqtt

cd emqttd./bin/emattd start

这里写图片描述

因为我的emqttd已经启动,所以显示Node is already running!

mqttd消息服务器进程状态查询:

./bin/emqttd_ctl status

这里写图片描述

好了emqtt启动了,接下来我们进行压力测试

emqtt_benchmark 安装部署

首先去emqtt_benchmark的github网址下载

git clone https://github.com/emqtt/emqtt_benchmark.git

进入emqtt_benchmark

cd emqtt_benchmark

make

make

这里写图片描述

出现如下错误

ERROR: OTP release R17 or later is required. you have: R16B03

服务器的erlang版本太低

我们安装erlang更高的版本,在R17之上就可以

参考

在Ubuntu 下 Erlang R17B 的安装的过程记录

参考的博客里的erlang下载地址已经不对了,我这里分享一个erlang下载地址,可以根据自己的需要下载相应的版本

erlang各个版本下载地址

erlang装好之后查看版本(erlang的安装比较费时)

输入

erl

这里写图片描述

我这里装的版本是18

好。重新进入emqtt_benchmark的目录并make

cd emqtt_benchmarkmake

如果不出错会看到下面的界面

这里写图片描述

压力测试

参照emqtt_benchmark我们对消息的吞吐量进行测试

For example, create 100 clients and each client publish messages at the rate of 100 msg/sec.

100个客户端以每秒100条来发布消息

./emqtt_bench_pub -c 100 -I 10 -t bench/%i -s 256

截图

这里写图片描述

目前的消息总量为3千多万。

好了,emqtt的其他压力测试可以参考

https://github.com/emqtt/emqtt_benchmark

鸣谢

特别感谢强哥的指导

参考文献

EMQTT安装部署
emqtt开源MQTT客户端项目
emqtt_benchmark的github
在Ubuntu 下 Erlang R17B 的安装的过程记录

0 0
原创粉丝点击