上一篇 Jmeter壓測http(s)
介紹了如何使用Jmeter壓測正常的web服務接口。本文将繼續示範如何使用Jmeter對ws(s)進行壓力測試。
有過Socket相關開發經驗的人應該都不會陌生,ws協定就是WebSocket協定,而wss對應就是在SSL上運作的WebSocket協定。有關WebSocket的知識,這裡不做過多說明,有興趣可以看看本人寫的另外一篇文章:
記錄一次遷移wss WebSocket的事故 。配置環境
由于JMeter需要添加幾個擴充Jar包後方可支援ws測試,是以我們需要配置相關的測試環境,以下是這些jar包的下載下傳位址。
WebSocket Sampler jars
将下載下傳好的Jar包放到JMeter的
lib\ext
目錄下即可。
ws測試
啟動Jmeter後,右鍵依次選擇 “測試計劃” -> “添加” -> “Threads(Users)” -> “線程組” -> “Sampler” -> “WebSocket Sampler”。
WebSocket Sampler
選項說明:
-
- WebServer
- Server Name or IP:目标WebSocket伺服器所在位址或名稱
- Port Number:WebSocket 服務監聽端口(http和ws一般是80端口,https和wss一般是433端口)
-
- Timeout(機關:毫秒)
- Connection:連接配接等待完成的最長時間
- Response:消息響應的最大等待時間
-
- WebSocket Request
- Implementation:目前僅支援RFC6455(v13) ,這也是最新版的WebSocket協定标準
- Protocol:WebSocket辨別,ws或者wss
- Streaming Connection:用于TCP會話是否需要保持。如果勾上表示連接配接會一直存在,否則在第一次響應後該連接配接就會被關閉
- Request data:請求要發送的資料
- Path:WebSocket端點路徑
為了友善,下面以一個線上的
WebSocket網站來開展測試。分别在
Server Name or IP
一欄中輸入:echo.websocket.org,在
Request data
一欄中輸入:Send test。啟動測試計劃,得到如下響應結果。
察看結果樹響應
聚合報告響應
wss測試
相比于ws測試,wss的測試也僅需修改兩處地方。分别将
Port Number
修改為:443,以及将
Protocol
修改為:wss。啟動測試計劃後,我們同樣可以得到系統的正常響應。
寫在最後
結合“函數助手”或者“CVS資料檔案”的方式,我們同樣可以模拟實作不同的使用者,發送不同的請求參數。有關于JMeter的内容到這就告一段落了,後續如果還有其它的補充,我會及時的更新上去。
Jmeter系列
關于Jmeter Jmeter 壓測 http(s) Jmeter壓測 ws(s)