<clients>
<client host="ubuntu" maxusers="50"></client>
</clients>
<!--这里为配置MQTT broker的IP地址,端口,协议默认为tcp>
<servers>
<server host="127.0.0.1" port="5672" type="tcp" />
</servers>
<!--下面为加载用户信息-->
<load>
<!--session为mqtt_sbuscriber的用户,10秒后启动-->
<user session="mqtt_subscriber" start_time="10" unit="second"></user>
<!--用户组1,下面表示在前3秒内,每隔1秒新增一个用户,用户数最大为5-- >
<arrivalphase phase="1" duration="3" unit="second">
<users maxnumber="5" arrivalrate="1" unit="second"/>
</arrivalphase>
<!--用户组1,下面表示在前2分钟内,每隔10秒新增一个用户,用户数最大为10-- >
<arrivalphase phase="2" duration="2" unit="minute">
<users maxnumber="10" arrivalrate="10" unit="second"/>
</arrivalphase>
</load>
<sessions>
<!--probability为100,上面非指定session所新增的用户,都用于该session-->
<session name="mqtt_publisher" probability="100" type="ts_mqtt">
<request>
<!--重点来了,这个通常我们的MQTT都会加入密码认证,否则不能建立连接通信。这里需要仔细查看官方文档,发现1.6.0已经开始支持MQTT的user和password。所以我们只需要在下面加入MQTT认证的username和password就可以与MQTT服务器器连接,并推送和订阅消息了-->
<mqtt type="connect" clean_start="true" keepalive="10" will_topic="will_topic" will_qos="0" will_msg="will_msg" will_retain="false" username="user" password="yourpassword"></mqtt>
</request>
<!--下面外面为一层for循环,执行10次,下面为一个消息推送,主题为test_topic,qos为1(至少保证收到一次),中间为具体的消息 -->
测试小酋(2016-07-06 21:19:36)
@andyzhou 首先,这里的300(s)并不是指MQTT运行的时长,而是指用户加载所用的时间。其次,实际运行的用户数,与我们前面设置的client最大用户数,以及根据加载用户策略时所运行的用户数,以及session的probability分配都有关,所以定位具体原因,需要附上详细的xml配置文件。