近期接到一个测试任务,需要对websocket协议进行性能测试,由于之前从未接触过该协议,一番google之后发现有两种比较简单的测试工具可以支持该协议:

  1. jmeter通过增加插件可以做到对该协议支持
  2. 开源工具tcpkali可以对该协议支持,tcpkali见github:https://github.com/machinezone/tcpkali
由于目前暂时对于使用tcpkali对websocket还未测试通过,所以先针对jmeter来进行分享.

关于WebSocket协议,简单讲:WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

详细参考维基百科:https://zh.wikipedia.org/wiki/WebSocket


一: 安装依赖:

本次测试操作系统为Ubuntu 14.04,jmeter Version 2.13

jmeter支持websocket测试需要下载一个插件叫做JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar

单纯使用这一个插件会导致jmeter报错,错误如下:

ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.NoClassDefFoundError: org/eclipse/jetty/util/ssl/SslContextFactory

当出现该错误时,主要是因为JMeterWebSocketSampler插件需要安装其他6个依赖包,如下:

jetty-http-9.1.2.v20140210.jar,jetty-util-9.1.2.v20140210.jar,jetty-io-9.1.2.v20140210.jar,websocket-common-9.1.1.v20140108.jar,websocket-client-9.1.1.v20140108.jar,websocket-api-9.1.1.v20140108.jar

以上所有包可以google获得,也可以到我百度云共享中获取:http://pan.baidu.com/s/1dD4NjUD

所有插件包需要放到apache-jmeter-2.13/lib/ext/下,启动jmeter.


二 jmeter新增websocket协议

1.新建线程组

2.选择创建一个WebSocket sample

3.增加一个结果数查看结果



简单的一个jmeter对websocket性能测试就这么简单搞定了.

websocket下载地址见:http://mvnrepository.com/
jetty依赖下载地址见:http://grepcode.com/search/st

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐