<for from="1" to="10" incr="1" var="loops">
<request subst="true">
<mqtt type="publish" topic="test_topic" qos="1" retained="true">test_message</mqtt>
</request>
</for>
<!--断开MQTT消息-->
<request>
<mqtt type="disconnect"></mqtt>
</request>
</session>
<!--下面为MQTT消息的订阅-->
<session name="mqtt_subscriber" probability="0" type="ts_mqtt">
<request>
<mqtt type="connect" clean_start="true" keepalive="10" username="user" password="yourpassword"></mqtt>
</request>
<!--订阅topic为test_topic的MQTT消息-->
<request subst="true">
<mqtt type="subscribe" topic="test_topic" qos="1"></mqtt>
</request>
<!--等待订阅消息多少时间,这里为60秒-->
<request>
<!-- wait for 60s -->
<mqtt type="waitForMessages" timeout="60"></mqtt>
</request>
<!--取消订阅消息test_topic-->
<request subst="true">
<mqtt type="unsubscribe" topic="test_topic"></mqtt>
</request>
<!--断开连接-->
<request>
<mqtt type="disconnect"></mqtt>
</request>
</session>
</sessions>
</tsung>
根据上面的mqtt.xml配置说明配置好后,就可以对MQTT Broker服务器施加压力了。
最后找到日志存放路径,然后利用~/tsung/bin/tsung_stats.pl 就可以生成测试报表了。后面分析数据我就不讲了,如果要了解这方面的知识,请关注我站内的其它文章。
测试小酋(2016-07-06 21:19:36)
@andyzhou 首先,这里的300(s)并不是指MQTT运行的时长,而是指用户加载所用的时间。其次,实际运行的用户数,与我们前面设置的client最大用户数,以及根据加载用户策略时所运行的用户数,以及session的probability分配都有关,所以定位具体原因,需要附上详细的xml配置文件。