最近公司做了个直播的项目,需要用到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. pgRouting 2.0 for windows 来了

    Postgres 9.2, PostGIS 2.0 and pgRouting 2.0  支持32.64 下载地址: http://winnie.postgis.net/download/window ...

  2. Android图表类库:WilliamChart

    WilliamChart是基于Views的Android图表类库,帮助开发者在Android应用中实现折线图.柱状图和堆叠柱状图.数值发生变化时图表也会以动画的效果发生变化. At the momen ...

  3. 查看Android系统给APP分配的最大堆栈

    命令方式: cat /system/build.prop dalvik.vm.heapgrowthlimit=48m dalvik.vm.heapsize=128m 代码方式: Runtime rt= ...

  4. 如何制定tomcat部署时自己定义的docBase路径

    装了tomcat后发现tomcat安装在系统跟路径地下,每次部署的时候挺麻烦的,于是想指定一个自己定义的应用部署的路径: 以下是如何指定,相关文档请查看https://tomcat.apache.or ...

  5. iOS 单例传值遇见问题

    单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 1.单例模式的要点: 显然单例模式的要点有三个:一是某个类只能有一个实例: ...

  6. 初学HTML 常见的标签(一) 文本标签

    最近做iOS开发的过程中, 发现要涉及到JS和原生OC(Swift)的交互, 作为一个Developer, 本着克服一切问题的原则, 开始学习HTML, 在这里记录下自己的学习笔记, 方便以后的复习, ...

  7. 内存管理范围和@property

    管理范围: 管理任何继承NSObject的对象,对其他的基本数据类型无 效 本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局部变量主要存放于 栈中,而对象存储于堆中,当代码块结束时这个 ...

  8. new ActiveXObject("Scripting.FileSystemObject") 时抛出异常 .

    使用JScript读写本地文件时,会使用Scripting.FileSystemObject控件. IE默认是不允许运行这类“未标记为安全执行脚本的ActiveX控件”的. 因此执行下行代码时: fs ...

  9. 转载文章----C#基础概念

    转载地址:http://www.cnblogs.com/zhouzhou-aspnet/articles/2591596.html 1.值类型和引用类型 1.1堆和栈 简单的说值类型存放在堆栈上面,引 ...

  10. android Gui系统之SurfaceFlinger(2)---BufferQueue

    6 BufferQueue 上一篇已经说到,BufferQueue是SurfaceFlinger管理和消费surface的中介,我们就开始分析bufferqueue. 每个应用 可以由几个Buffer ...