使用JMeter测试基于WebSocket协议的服务
- 由于JMeter没有针对WebSocket的sampler,所以就需要安装开源的插件,以使其支持WebSocket协议。
安装JMeter WebSocketSampler
-
首先,从github上clone源码下来,地址如下: https://github.com/maciejzaleski/JMeter-WebSocketSampler
-
之后,使用Maven构建此代码后,将jar包“JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar”放到JMeter的“lib/ext/”目录中,此目录是JMeter用来放置扩展包的地方。
-
最后,将websocket sampler依赖的其他jar包放到“lib”目录下,此目录是JMeter用来放插件所依赖的jar包的地方。websocket sampler所依赖的jar包如下:
- jetty-http-9.1.1.v20140108.jar
- jetty-io-9.1.1.v20140108.jar
- jetty-util-9.1.1.v20140108.jar
- websocket-api-9.1.1.v20140108.jar
- websocket-client-9.1.1.v20140108.jar
- websocket-common-9.1.1.v20140108.jar
-
打开JMeter,通过”Add” -> “Sampler” -> “WebSocket Sampler”,添加一个取样器:
创建一个简单的websocket实现:
- 通过下面blog所说的步骤,构建一个基于websocket协议的聊天室:
http://waylau.com/netty-websocket-chat/ - 启动后如图:
使用JMeter测试websocket聊天室
-
配置WebSocket Sampler如下图:
-
运行后,查看JMeter显示结果:
-
查看聊天室,发现确实收到的此条消息: