使用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顯示結果:

-
查看聊天室,發現確實收到的此條消息:

