作者:手机用户2602922511 | 来源:互联网 | 2023-07-16 12:30
1. 测试工具
目前使用两种测试工具进行压力测试
1. Jmeter 测试单客户端收发多主题,测试高并发,大数据量时的接收效率
2. emqtt_benchmark测试多客户端收发主题,测试高吞吐量下服务器性能
1.1 安装Erlang
emqtt_benchmark测试工具使用Erlang语言开发,必须在Linux的环境下运行,因此需要先安装Erlang语言环境。
1.1.1 安装Erlang
可以参考这篇帖子,使安装别的特别简单。
1.1.2 安装问题
- 没有安装git,比如出现以下错误:
ERROR: Rebar requires version {1,5} or higher of git to process {git,"git://github.com/talentdeficit/jsx.git",{tag,"v0.9.0"}}
解决办法:
下载安装Git工具
yum install git
make clean
make
解决办法:
删除archives文件夹
[root@localhost mqtt-test]
1.2 emqtt_benchmark安装使用
这是一个简单的MQTT基准工具用Erlang编写的。该工具的主要目的是基准测试MQTT服务器可以支持的并发连接数。官网下载
- 1.2.1 下载安装
将下载下来的emqtt_benchmark-master.zip
放置一个目录下,并解压缩, 使用make进行编译安装
unzip emqtt_benchmark-master
cd emqtt_benchmark-master
ls
make
1.2.2 订阅命令
在目录emqtt_benchmark-master
下执行命令:./emqtt_bench_sub --help
,结果如下:
[[email protected] emqtt_benchmark-master]# ./emqtt_bench_sub --help
Usage: emqtt_bench_sub [--help ] [-h []] [-p []]
[-c []] [-i []] [-t ]
[-q []] [-u ] [-P ]
[-k []] [-C []]
[--ifaddr ]
--help help information
举例:创建1000个并发客户端,并每秒接收100条消息频率
./emqtt_bench_sub -c 1000 -i 10 -t bench/%i -q 2
1.2.3 发布命令
执行命令:./emqtt_bench_pub --help
,结果如下:
[[email protected] emqtt_benchmark-master]# ./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]
-i, --interval interval of connecting to the broker [default: 10]
举例:创造10个客户,每个客户端发布消息的速度每秒100条,吞吐量1000条/秒
./emqtt_bench_pub -c 10 -I 10 -t bench/%i -s 256
1.3 Jmeter安装使用
Apache JMeter是Apache组织开发的基于Java的压力测试工具。下载
用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。