对mqtt代理进行基准测试的脚本
pymqttbench的Python项目详细描述
这是一个对mqtt代理的性能进行基准测试的工具。它的工作原理是 同时启动任意数量的发布者和订阅者。这些 工作线程同时发布和订阅同一主题并发送或接收 固定数量的消息。
安装
安装pymqttbench最简单的方法是使用pip:
pip install pymqttbench
或者,您也可以使用以下命令克隆回购协议:
git clone https://github.com/mtreinish/pymqttbench.git
然后使用pip安装:
pip install ./pymqttbench
或者您可以运行:
cd pymqttbench && python setup.py install
但是建议使用pip。
用法
安装pymqttbench之后,只需使用以下命令运行它:
pymqttbench --hostname $BROKER_HOST
命令。需要hostname参数来告诉pymqttbench主机名 经纪人的。这是唯一需要的字段,但还有其他几个字段 如何连接到代理的选项。--port用于指定 如果您没有连接到标准端口,1883。--username 如果需要,使用--password指定用户身份验证。相似的 --cacert可用于指定一个可信的ca证书来验证tls 代理上的连接。还有--topic参数 用于指定要用于基准测试的主题,默认情况下pybench 使用。请注意,所有这些设置都用于发布服务器和 订户。
除了mqtt连接选项外,还有--brief标志,它是 用于打印以冒号分隔的基准测试结果列表,而不是默认值 可读格式化输出。此输出的格式为:
Subscriber Count:Publisher Count:Subscriber Mean Duration:Subscriber Duration Std. Deviation:Subscriber Avg. Throughput:Subscriber Total Throughput:Publisher Mean Duration:Publisher Duration Std. Deviation:Publisher Avg. Throughput:Publisher Total Throughput
调整基准
在pymqttbench知道如何连接到代理之后,您可以优化基准测试 为了你的特殊需要。有几个轴你可以调整贝克马克, 第一个是出版商和订阅者的数量。这是可配置的 使用--pub-clients和--sub-clients标志。默认情况下,每个都设置为 到10。下一个可以调整的选项是 发布者将使用--pub-count和 订户将使用--sub-count监听。值得指出的是 订阅者不像其他人那样与单个工人配对 基准测试工具,但是听的主题与所有发布者相同 发布到。除了调整这些选项之外,您可能还希望 更改发布服务器超时--pub-timeout和订阅服务器超时, sub-timeout,它描述基准将等待工作进程多长时间 发布或接收指定的消息计数。
您还可以使用--msg-size设置消息负载的大小 获取要使用的字节数。默认情况下,它使用1024字节的有效负载。这个 最后一个优化选项是--qos,用于指定要使用的QoS级别 用于基准测试。默认情况下使用QoS 0。