emqtt-bench
安装
安装环境:Centos7
安装包:emqtt-bench-0.4.6-alpha.2-centos7-amd64.tar.gz
建议使用已编译好的发行包进行安装,源码编译已踩坑。
# 创建存放目录并解压
[root@testHost]# mkdir /usr/local/emqtt-bench/
[root@testHost]# tar -zxvf emqtt-bench-0.4.6-alpha.2-centos7-amd64.tar.gz \
-C /usr/local/emqtt-bench/
# 添加环境变量
[root@testHost]# echo 'export PATH=$PATH:/usr/local/emqtt-bench/bin' >> /etc/profile
[root@testHost]# source /etc/profile
使用
emqtt_bench 共三个子命令:
-
pub:用于创建大量客户端执行发布消息的操作。 -
sub:用于创建大量客户端执行订阅主题,并接受消息的操作。 -
conn:用于创建大量的连接。
执行 emqtt_bench pub --help 会得到可用的参数输出
| 参数 | 简写 | 可选值 | 默认值 | 说明 |
|---|---|---|---|---|
| --host | -h | - | localhost | 要连接的 MQTT 服务器地址 |
| --port | -p | - | 1883 | MQTT 服务端口 |
| --version | -V | 3 4 5 | 5 | 使用的 MQTT 协议版本 |
| --count | -c | - | 200 | 客户端总数 |
| --startnumber | -n | - | 0 | 客户端数量起始值 |
| --interval | -i | - | 10 | 每间隔多少时间创建一个客户端;单位:毫秒 |
| --interval_of_msg | -I | - | 1000 | 每间隔多少时间发送一个消息 |
| --username | -u | - | 无;非必选 | 客户端用户名 |
| --password | -P | - | 无;非必选 | 客户端密码 |
| --topic | -t | - | 无;必选 | 发布的主题;支持站位符: %c:表示 ClientId %u:表示 Username %i:表示客户端的序列数 |
| --szie | -s | - | 256 | 消息 Payload 的大小;单位:字节 |
| --qos | -q | - | 0 | Qos 等级 |
| --retain | -r | true false | false | 消息是否设置 Retain 标志 |
| --keepalive | -k | - | 300 | 客户端心跳时间 |
| --clean | -C | true false | true | 是否以清除会话的方式建立连接 |
| --ssl | -S | true false | false | 是否启用 SSL |
| --certfile | - | - | 无 | 客户端 SSL 证书 |
| --keyfile | - | - | 无 | 客户端 SSL 秘钥文件 |
| --ws | - | true false | false | 是否以 Websocket 的方式建立连接 |
| --ifaddr | - | - | 无 | 指定客户端连接使用的本地网卡 |
例如,启动 10 个连接,分别每秒向主题 t 发送 100 条 Qos0 消息,其中每个消息体的大小为 16 字节大小:
emqtt_bench pub -t t -h 192.168.0.1 -p 1883 -s 16 -q 0 -c 10 -I 10 \
--username admin --password 123
使用方法参考emqx官方文档:https://docs.emqx.com/zh/enterprise/v4.4/tutorial/benchmark.html
浙公网安备 33010602011771号