您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页webSocketws协议测试

webSocketws协议测试

来源:好走旅游网
webSocketws协议测试

  最近公司做了个直播的项⽬,需要⽤到Websocket进⾏通信,因⽽需要对socket最⼤连接数及稳定性进⾏测试。当初得到这⼀需求的时候,唯⼀想到的就是jmeter,从百度下载相应的socket依赖jar包,开始研究(毕竟第⼀次做这⽅⾯的测试),担⼼单台压⼒源不够⽤,⼜整了个分布式,不过最终发现Jmeter并不适合测试Socket的最⼤连接数,于是调整了思路,寻找其他⽅法,功夫不费有⼼⼈,最后发下了⼀款不错的socket测试⼩⼯具()是⼀个.exe⽂件,使⽤该⼯具可以很容易的实现socket稳定性测试,连接数测试就有点⿇烦了,因为我们的Websocket需要传递⼀些参数,这就涉及到对参数进⾏参数化,此时想到之前做⾃动化⽤到的⼀个⼯具叫autoit3,通过autoit3调⽤该.exe程序来实现对不同参数的输⼊,需要提前准备好数据⽂件:具体代码如下:

Run(\"E:\\webSocket\\WebSocket_test\\TradePhoneClient.exe\")Sleep(5000)

WinWait(\"Form1\")

$sheet = Gettestsheet(\"E:\\webSocket\\WebSocket_test\\student_uuid20000_data.csv\",1)For $i= 1 TO 801 Step 1

Dim $stu_uid = $sheet.Cells($i,1).value CreateWebSocketConnect($stu_uid) ;MsgBox(4096, \"读取的⾏:\", $stu_uid)Next

CloseExcel()

Func CreateWebSocketConnect($stu_uid)

ControlSetText(\"Form1\",\"\",\"[CLASS:WindowsForms10.EDIT.app.0.141b42a_r14_ad1;INSTANCE:2]\",\"ws://XXXXXXX.cn/broadcast-rest/echo?uuid=\"&$stu_uid&\"&type=student&encryptId=testrenshu2000\") ControlClick(\"Form1\",\"\",\"[CLASS:WindowsForms10.BUTTON.app.0.141b42a_r14_ad1;INSTANCE:6]\") WinWait(\"[CLASS:#32770]\",\"\",3)

ControlClick(\"[CLASS:#32770]\",\"\",\"Button1\")EndFunc

Func Gettestsheet($path,$sheetindex) ProcessClose(\"EXCEL.EXE\")

$oExcel = ObjCreate(\"Excel.Application\") $oExcel.visible=0

$workbook=$oExcel.WorkBooks.Open($path)

$sheet=$workbook.Worksheets.Item($sheetindex) Return $sheetEndFunc

Func CloseExcel() $workbook.Save(); $oExcel.Quit();

ProcessClose(\"EXCEL.EXE\");退出不了则强制杀死进程EndFunc

总结:webSocket最⼤连接数取决Tomcat最⼤线程数,系统进程数/etc/security/limits.d/90-nproc.conf⽂件,⼀般设置51200

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务