本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

emqtt-bench Docker 镜像下载 - 轩辕镜像

emqtt-bench 镜像详细信息和使用指南

emqtt-bench 镜像标签列表和版本信息

emqtt-bench 镜像拉取命令和加速下载

emqtt-bench 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

emqtt-bench
emqx/emqtt-bench

emqtt-bench 镜像详细信息

emqtt-bench 镜像标签列表

emqtt-bench 镜像使用说明

emqtt-bench 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

emqtt-bench 是一个用 Erlang 编写的 MQTT v5.0 基准测试工具,支持连接、订阅、发布等性能测试,可模拟大量并发客户端,评估 MQTT 服务器的连接能力、消息吞吐量等性能指标。
5 收藏0 次下载activeemqx镜像

emqtt-bench 镜像详细说明

emqtt-bench 使用指南

emqtt-bench 配置说明

emqtt-bench 官方文档

emqtt-bench Docker镜像文档

镜像概述和主要用途

emqtt-bench 是一个用 Erlang 编写的轻量级 MQTT v5.0 基准测试工具,用于评估 MQTT 服务器的性能。该工具支持模拟大量并发 MQTT 客户端,进行连接、订阅、发布等操作的性能测试,帮助用户评估 MQTT 服务器在不同场景下的处理能力,如最大并发连接数、消息吞吐量、延迟等关键指标。

注意:以下示例中,"Usage" 指的是镜像内的脚本 emqtt_bench,而 Docker 镜像名称为 emqx/emqtt-bench

核心功能和特性

  • 支持 MQTT v3、v4、v5 协议版本
  • 提供三种基准测试类型:
    • 连接测试(Connect Benchmark):测试服务器处理并发连接的能力
    • 订阅测试(Sub Benchmark):测试服务器处理订阅操作的能力
    • 发布测试(Pub Benchmark):测试服务器处理消息发布的吞吐量和延迟
  • 支持 SSL/TLS 加密连接(单向和双向认证)
  • 支持 WebSocket 传输协议
  • 支持主题变量(%u%c%i),可生成动态主题
  • 可配置并发客户端数量、连接间隔、消息发送间隔、消息大小等参数
  • 支持指定本地网络接口地址

使用场景和适用范围

  • MQTT 服务器(如 EMQX、Mosquitto 等)的性能评估和压力测试
  • 验证服务器在高并发连接场景下的稳定性
  • 测试不同 QoS 级别(0、1、2)下的消息传输性能
  • 评估 SSL/TLS 加密对 MQTT 服务器性能的影响
  • 测试 WebSocket 传输模式下的 MQTT 消息处理能力
  • 验证服务器对大量订阅和发布消息的处理能力

详细使用方法和配置说明

连接基准测试(Connect Benchmark)

用于测试 MQTT 服务器处理并发连接的能力。

命令选项

sh
docker run -it emqx/emqtt-bench conn --help

选项说明:

选项描述默认值
--help显示帮助信息-
-h, --hostMQTT 服务器主机名或 IP 地址localhost
-p, --portMQTT 服务器端口1883
-c, --count最大客户端数量200
-n, --startnumber起始编号0
-i, --interval连接间隔(毫秒)10
-u, --username连接用户名(可选)-
-P, --password连接密码(可选)-
-k, --keepalive保活时间(秒)300
-C, --clean清除会话true
-S, --ssl使用 SSL 连接false
--certfile客户端证书文件路径(如需双向认证)-
--keyfile客户端私钥文件路径(如需双向认证)-
--ifaddr本地 IP 地址或接口地址-

示例

以 100 个/秒的速率创建 50,000 个并发连接:

sh
docker run -it emqx/emqtt-bench conn -c 50000 -i 10

订阅基准测试(Sub Benchmark)

用于测试 MQTT 服务器处理订阅操作的能力。

命令选项

sh
docker run -it emqx/emqtt-bench sub --help

选项说明:

选项描述默认值
--help显示帮助信息-
-h, --hostMQTT 服务器主机名或 IP 地址localhost
-p, --portMQTT 服务器端口1883
-V, --versionMQTT 协议版本(3/4/5)5
-c, --count最大客户端数量200
-n, --startnumber起始编号0
-i, --interval连接间隔(毫秒)10
-t, --topic订阅主题(支持 %u、%c、%i 变量)-
-q, --qos订阅 QoS 级别(0/1/2)0
-u, --username连接用户名(可选)-
-P, --password连接密码(可选)-
-k, --keepalive保活时间(秒)300
-C, --clean清除会话true
-S, --ssl使用 SSL 连接false
--certfile客户端证书文件路径(如需双向认证)-
--keyfile客户端私钥文件路径(如需双向认证)-
--ws使用 WebSocket 传输false
--ifaddr本地 IP 地址或接口地址-

示例

以 100 个/秒的速率创建 50,000 个并发订阅客户端,订阅主题 bench/%i(%i 为客户端编号),QoS 级别 2:

sh
docker run -it emqx/emqtt-bench sub -c 50000 -i 10 -t bench/%i -q 2

发布基准测试(Pub Benchmark)

用于测试 MQTT 服务器处理消息发布的吞吐量和延迟。

命令选项

sh
docker run -it emqx/emqtt-bench pub --help

选项说明:

选项描述默认值
--help显示帮助信息-
-h, --hostMQTT 服务器主机名或 IP 地址localhost
-p, --portMQTT 服务器端口1883
-V, --versionMQTT 协议版本(3/4/5)5
-c, --count最大客户端数量200
-n, --startnumber起始编号0
-i, --interval连接间隔(毫秒)10
-I, --interval_of_msg消息发送间隔(毫秒)1000
-u, --username连接用户名(可选)-
-P, --password连接密码(可选)-
-t, --topic发布主题(支持 %u、%c、%i 变量)-
-s, --size消息 payload 大小(字节)256
-q, --qos发布 QoS 级别(0/1/2)0
-r, --retain保留消息标志false
-k, --keepalive保活时间(秒)300
-C, --clean清除会话true
-S, --ssl使用 SSL 连接false
--certfile客户端证书文件路径(如需双向认证)-
--keyfile客户端私钥文件路径(如需双向认证)-
--ws使用 WebSocket 传输false
--ifaddr本地 IP 地址或接口地址-

示例

创建 100 个并发客户端,每个客户端以 100 条/秒的速率发布消息,主题 bench/%i(%i 为客户端编号),消息大小 256 字节:

sh
docker run -it emqx/emqtt-bench pub -c 100 -I 10 -t bench/%i -s 256

高级使用示例

指定本地接口

通过 --ifaddr 选项指定客户端使用的本地 IP 地址:

sh
docker run -it emqx/emqtt-bench pub --ifaddr 192.168.1.10
docker run -it emqx/emqtt-bench sub --ifaddr 192.168.2.10

单向 SSL 连接

连接使用 SSL/TLS 加密的 MQTT 服务器(端口通常为 8883):

sh
# 订阅测试
docker run -it emqx/emqtt-bench sub -c 100 -i 10 -t bench/%i -p 8883 -S

# 发布测试
docker run -it emqx/emqtt-bench pub -c 100 -I 10 -t bench/%i -p 8883 -s 256 -S

双向 SSL 连接

使用客户端证书和私钥进行双向 SSL 认证:

sh
# 订阅测试(需挂载证书文件到容器内,假设本地证书路径为 /local/certs/)
docker run -it -v /local/certs:/certs emqx/emqtt-bench sub -c 100 -i 10 -t bench/%i -p 8883 --certfile /certs/client-cert.pem --keyfile /certs/client-key.pem

# 发布测试
docker run -it -v /local/certs:/certs emqx/emqtt-bench pub -c 100 -i 10 -t bench/%i -s 256 -p 8883 --certfile /certs/client-cert.pem --keyfile /certs/client-key.pem

注意:双向 SSL 连接需将本地证书文件挂载到容器内,使用 -v 参数指定挂载路径。

注意事项

  • 由于单网络接口的 TCP 端口限制,-c(客户端数量)选项不应设置超过 60,000。
  • 高并发测试可能需要调整主机的系统参数(如文件描述符限制、TCP 连接参数等)以获得准确结果。
  • 使用 SSL/TLS 或 WebSocket 时,性能测试结果可能受加密和协议开销影响。

作者

EMQX 团队

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"