tsung websocket测试乱码消息
我正在尝试加载测试websocket服务器。服务器接受并发送application/json,交互似乎很好 服务器正确地接受从客户端(tsung)发送的消息。不幸的是,从客户端的角度来看,它无法读取响应,我认为这可能与消息混乱有关,至少在tsung.dump中,我看到了NUL、SOH、SI等ASCII字符,但我也看到了来自服务器的json响应tsung websocket测试乱码消息,websocket,load-testing,tsung,Websocket,Load Testing,Tsung,我正在尝试加载测试websocket服务器。服务器接受并发送application/json,交互似乎很好 服务器正确地接受从客户端(tsung)发送的消息。不幸的是,从客户端的角度来看,它无法读取响应,我认为这可能与消息混乱有关,至少在tsung.dump中,我看到了NUL、SOH、SI等ASCII字符,但我也看到了来自服务器的json响应 这是我的tsung.xml文件片段: <?xml version="1.0"?> <!DOCTYPE tsung SYSTEM "/u
这是我的tsung.xml文件片段:
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/Cellar/tsung/1.5.0/share/tsung/tsung-1.0.dtd">
<tsung loglevel="debug" dumptraffic="true">
<clients>
<client host="localhost" use_controller_vm="true" maxusers="1000" />
</clients>
<servers>
<server host="127.0.0.1" port="8282" type="tcp" />
</servers>
<load>
<arrivalphase phase="1" duration="120" unit="second">
<users maxnumber="1" arrivalrate="1" unit="second" />
</arrivalphase>
</load>
<sessions>
<session name="websocket" probability="100" type="ts_websocket">
<request subst="true">
<websocket type="connect" path="/fancyurl?Content-Type=application/json"></websocket>
</request>
<transaction name="getsession">
<request subst="true">
<dyn_variable name="sessionid" jsonpath="session"/>
<websocket type="message">{"type": "EventMessageCmd", "user": "lnramirez", "eventCode" : "epfl"}
</websocket>
</request>
</transaction>
<thinktime value="10"/>
<request>
<dyn_variable name="boothAck" jsonpath="commandStatus" />
<websocket type="message">
{
"user": "lramirezmonterosa",
"eventCode": "epfl",
"type": "BoothMessageCmd",
"boothCode": "ic",
"commandStatus": "REQUESTED",
"boothRequest": "JOIN"
}
</websocket>
</request>
<request>
<websocket type="close"></websocket>
</request>
</session>
</sessions>
</tsung>
{“type”:“EventMessageCmd”,“user”:“lnramirez”,“eventCode”:“epfl”}
{
“用户”:“lramirezmonterosa”,
“事件代码”:“epfl”,
“类型”:“BoothMessageCmd”,
“boothCode”:“ic”,
“命令状态”:“已请求”,
“boothRequest”:“加入”
}
tsung.dump:
Send:1390970727.56257:<0.84.0>:‚ìÝju¦`U_ýJU_ýJU_ýJU_ÿ¸HO_ÿ/³8®¸)ÿFU]¨
ÿPU]±´°¸¼HY_ÿ³6¹W_çJW]×JU_ýJU_ýJU_ýJU
Recv:1390970727.588689<0.84.0>:~{"type":"HeartBeatMessageCmd","timeCmdBroadcasted":1390970727588,"timeCmdGenerated":1390970727588,"commandStatus":"REQUESTED","user":"lramirezmonterosa","eventCode":"epfl","uuid":"a91e2c1b-859d-4299-99fd-e7ba63ba1f42","userSession":"25bb5627-4eb3-4a23-a1c9-edd5b8231808"}`
Send:1390970727.56257::“ìÝýýýýýýýýýýýýýýýýýýýýýý
ÿPU]±∠¸¼HYÿ³6ÿWýJW]×JUýJUýJUýJUýJU
记录:1390970727.588689:~{“类型”:“HeartBeatMessageCmd”,“timeCmdBroadcasted”:1390970727588,“timeCmdGenerated”:1390970727588,“commandStatus”:“请求”,“用户”:“lramirezmonterosa”,“事件代码”:“epfl”,“uuid”:“a91e2c1b-859d-4299-99fd-e7ba63ba1f42”,“用户会话”:“25bb5627-4eb3-4a23-a1c9-edd5b8231808”}`
看起来转储包含websocket帧数据(本例中为2字节)以及有效负载。所以这可能没问题。但我正在尝试读取带有变量“session”的响应:“%\u sessionid%%”表示未定义的始终这似乎是一个已知的bug。自从1.5.0发布以来,Tsung中的websocket支持已经有了很多更新,我猜它在repo head中是固定的,您可能应该尝试从repo.IDK中构建它,它是否有用,而不是Tsung在1.5中提供的默认websocket支持。我使用它进行websocket测试,效果非常好。