Centos7 下测试mosquitto性能
By:Roy.LiuLast updated:2019-08-08
测试mosquitto性能
首先需要安装如下模块
下载erlang语言安装包,并解压
然后进入源码目录进行安装, 我这里安装到/home/summer/projects/tools/erlang这个目录下,确保目录已经存在,并有权限操作
配置erlang环境变量, 编辑 /etc/profile, 在最后增加如下内容并保存,注意路径
使配置文件生效
在命令行输入命令erl 测试是否生效.
到此为止erlang 安装完毕。
*****************************压力测试部分**************************
压力测试工具github上开源的工具:https://github.com/emqx/emqtt-bench, 下载emqtt-bench-master.zip, 并上传到linux服务器某个目录下,执行unzip命令解压,得到emqtt-bench-master 目录. 当然如果你安装了git的话,直接运行git clone命令也是可以得到源码的。解压后,进入目录,进行编译.
这个时候,你会发现,编译生成了可执行文件 emqtt_bench, 通过这个文件,就可以测试MQTT的吞吐量了.对于这个命令的用法,在github上有,我这里也抄下:
我做了如下测试:
首先需要安装如下模块
yum install libncurses5-dev m4 fop freeglut3-dev libwxgtk2.8-dev g++ libssl-dev xsltproc build-essential tk8.5 unixodbc unixodbc-dev libxml2-utils
下载erlang语言安装包,并解压
wget http://erlang.org/download/otp_src_22.0.tar.gz tar zxvf otp_src_22.0.tar.gz
然后进入源码目录进行安装, 我这里安装到/home/summer/projects/tools/erlang这个目录下,确保目录已经存在,并有权限操作
./configure --prefix=/home/summer/projects/tools/erlang make make install
配置erlang环境变量, 编辑 /etc/profile, 在最后增加如下内容并保存,注意路径
export ERLANG_HOME=/home/summer/projects/tools/erlang export PATH=$PATH:$ERLANG_HOME/bin
使配置文件生效
source /etc/profile
在命令行输入命令erl 测试是否生效.
到此为止erlang 安装完毕。
*****************************压力测试部分**************************
压力测试工具github上开源的工具:https://github.com/emqx/emqtt-bench, 下载emqtt-bench-master.zip, 并上传到linux服务器某个目录下,执行unzip命令解压,得到emqtt-bench-master 目录. 当然如果你安装了git的话,直接运行git clone命令也是可以得到源码的。解压后,进入目录,进行编译.
make
这个时候,你会发现,编译生成了可执行文件 emqtt_bench, 通过这个文件,就可以测试MQTT的吞吐量了.对于这个命令的用法,在github上有,我这里也抄下:
./emqtt_bench pub --help Usage: emqtt_bench pub [--help] [-h [ ]] [-p [ ]] [-c [ ]] [-i [ ]] [-I [ ]] [-u ] [-P ] [-t ] [-s [ ]] [-q [ ]] [-r [ ]] [-k [ ]] [-C [ ]] [--ifaddr ] --help help information -h, --host mqtt server hostname or IP address [default: localhost] -p, --port mqtt server port number [default: 1883] -c, --count max count of clients [default: 200] -n, --startnumber start number [default: 0] -i, --interval interval of connecting to the broker [default: 10] -I, --interval_of_msg interval of publishing message(ms) [default: 1000] -u, --username username for connecting to server -P, --password password for connecting to server -t, --topic topic subscribe, support %u, %c, %i variables -s, --size payload size [default: 256] -q, --qos subscribe qos [default: 0] -r, --retain retain message [default: false] -k, --keepalive keep alive in seconds [default: 300] -C, --clean clean session [default: true] --ifaddr local ipaddress or interface address
我做了如下测试:
100个客户端,每个客户端每秒100条消息,也就是吞吐量 10000/S, QOS1最少发送一次方式,每条消息字节数为 1024,也就是1K. ./emqtt_bench pub -h 192.168.99.228 -p 17915 -c 100 -I 10 -t bench/%i -s 1024 -q 1
From:一号门
Previous:python识别图片中是否包含水印(opencv)
COMMENTS