之前写过一篇是关于emqtt安装和测试的,不过是在windows上
这次介绍一下压力测试
压力测试选择emqtt官方推荐的emqtt_benchmark
emqtt_benchmark(MQTT连接测试工具)
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的安装比较费时)
输入
erl
我这里装的版本是18
好。重新进入emqtt_benchmark的目录并make
cd emqtt_benchmark
make
如果不出错会看到下面的界面
压力测试
参照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 的安装的过程记录