最近公司做了个直播的项目,需要用到Websocket进行通信,因而需要对socket最大连接数及稳定性进行测试。当初得到这一需求的时候,唯一想到的就是jmeter,从百度下载相应的socket依赖jar包,开始研究(毕竟第一次做这方面的测试),担心单台压力源不够用,又整了个分布式,不过最终发现Jmeter并不适合测试Socket的最大连接数,于是调整了思路,寻找其他方法,功夫不费有心人,最后发下了一款不错的socket测试小工具(点击下载)是一个.exe文件,使用该工具可以很容易的实现socket稳定性测试,连接数测试就有点麻烦了,因为我们的Websocket需要传递一些参数,这就涉及到对参数进行参数化,此时想到之前做自动化用到的一个工具叫autoit3,通过autoit3调用该.exe程序来实现对不同参数的输入,需要提前准备好数据文件:具体代码如下:

Run("E:\webSocket\WebSocket_test\TradePhoneClient.exe")
Sleep()
WinWait("Form1") $sheet = Gettestsheet("E:\webSocket\WebSocket_test\student_uuid20000_data.csv",)
For $i= TO Step
Dim $stu_uid = $sheet.Cells($i,).value
CreateWebSocketConnect($stu_uid)
;MsgBox(, "读取的行:", $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]","",)
ControlClick("[CLASS:#32770]","","Button1")
EndFunc Func Gettestsheet($path,$sheetindex)
ProcessClose("EXCEL.EXE")
$oExcel = ObjCreate("Excel.Application")
$oExcel.visible=
$workbook=$oExcel.WorkBooks.Open($path)
$sheet=$workbook.Worksheets.Item($sheetindex)
Return $sheet
EndFunc Func CloseExcel()
$workbook.Save();
$oExcel.Quit();
ProcessClose("EXCEL.EXE");退出不了则强制杀死进程
EndFunc

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

webSocket ws协议测试的更多相关文章

  1. WebSocket和long poll、ajax轮询的区别,ws协议测试

    WebSocket和long poll.ajax轮询的区别,ws协议测试 WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连 ...

  2. 谈谈surging引擎的tcp、http、ws协议和如何容器化部署

    1.前言 分布式已经成为了当前最热门的话题,分布式框架也百花齐放,群雄逐鹿.从中心化服务治理框架,到去中心化分布式服务框架,再到分布式微服务引擎,这都是通过技术不断积累改进而形成的结果.esb,网关, ...

  3. Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试

    Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...

  4. websocket 70K连接测试

    websocket 70K连接测试 最近使用socket.io做了一个实时应用,实时性.稳定性还是很让人满意的.如果拿socket.io来做小型应用,综合效率应该是最高的.但是网上少有socket.i ...

  5. 一文详解 WebSocket 网络协议

    WebSocket 协议运行在TCP协议之上,与Http协议同属于应用层网络数据传输协议.WebSocket相比于Http协议最大的特点是:允许服务端主动向客户端推送数据(从而解决Http 1.1协议 ...

  6. websocket的php测试demo

    <?php class WS { var $master; var $sockets = array(); var $debug = false; var $handshake = false; ...

  7. 浏览器中的WebSocket("ws://127.0.0.1:9988");

    <script type="text/javascript"> function WebSocketTest() { if ("WebSocket" ...

  8. 一个类似于postman的协议测试工具

    协议测试工具使用postman相当便捷,不过有一个问题,就是每个人都要装一个这个东西,并且测试文件导来导去,还是觉得麻烦了点. 最重要的是postman不能修改,有一些定制功能postman明显力不从 ...

  9. websocket通讯协议(10版本)简介

    前言: 工作中用到了websocket 协议10版本的,英文的协议请看这里: http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotoc ...

随机推荐

  1. Sap 常用Function 说明

    函数名 描述 SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织VI ...

  2. Autodesk招聘开发咨询顾问(北京或上海),需要内推的扔简历过来啊

    Autodesk现招聘两位二次开发技术顾问,为正式编制.享受所有Autodesk优越的福利资源(额外商业保险,公积金全部由公司支付,年度奖金,季度礼物, 节日礼物, 15天年假,不定期的培训...). ...

  3. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q19-Q20)

    Question 19 You are designing a custom SharePoint 2010 solution package. It will include a feature t ...

  4. 怎么让一个项目里swift与OC可以兼容混合开发?

    在苹果推出了swift语言之后,很多人担心OC很快会被取代,但是苹果方面表示2年内不会摒弃OC.但现在也快了啊.有的开发团队已经开始基于swift开发,但是有很多旧的框架还没来得及用swift写出来, ...

  5. AVAudioSession初探

    根据文档,AudioSession规定了app和系统音频行为交互的规范,一个app只有一个AudioSession的单例. app通过设置自己AudioSession的单例的属性来告诉系统自身想达到的 ...

  6. android studio我的习惯操作

    一.修改字体 点击左上角File选择settings....进入界面选择Editor-->Colors&Fonts-->Font点击界面中Save As...在对话框中输入名字点击 ...

  7. 自定义Cell的方法

    Cell属于UITableView中的组件,有多种定义方式,有系统自带的方法,有自定义的方法. 可以使用系统的方法setSeparatorColor(设置分割线颜色) 设置setSeparatorSt ...

  8. Struts

    Struts是基于MVC的框架,它进一步的对MVC进行了封装. MVC 概念 MVC全名是Model View Controller,是模型(model)—视图(view)—控制器(controlle ...

  9. TY创新D总个人经历谈

    这是深圳一个公司的老板(就叫D总吧)在吃饭间和我们讲起的他的个人经历,这中间个人的苦辣酸甜,有些意思,值得玩味,就做了个实录. D总:我当时做餐饮是在我第一次创业失败之后.我做的是一家火锅店. 这家餐 ...

  10. 编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。

    package zuoye; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; pub ...