天天看點

Jmeter 壓測 ws(s)

  上一篇 Jmeter壓測http(s)

介紹了如何使用Jmeter壓測正常的web服務接口。本文将繼續示範如何使用Jmeter對ws(s)進行壓力測試。

  有過Socket相關開發經驗的人應該都不會陌生,ws協定就是WebSocket協定,而wss對應就是在SSL上運作的WebSocket協定。有關WebSocket的知識,這裡不做過多說明,有興趣可以看看本人寫的另外一篇文章:

記錄一次遷移wss WebSocket的事故

配置環境

  由于JMeter需要添加幾個擴充Jar包後方可支援ws測試,是以我們需要配置相關的測試環境,以下是這些jar包的下載下傳位址。

Jmeter 壓測 ws(s)

WebSocket Sampler jars

  将下載下傳好的Jar包放到JMeter的

lib\ext

目錄下即可。

ws測試

  啟動Jmeter後,右鍵依次選擇 “測試計劃” -> “添加” -> “Threads(Users)” -> “線程組” -> “Sampler” -> “WebSocket Sampler”。

Jmeter 壓測 ws(s)

WebSocket Sampler

Jmeter 壓測 ws(s)

選項說明:

    1. WebServer
    • Server Name or IP:目标WebSocket伺服器所在位址或名稱
    • Port Number:WebSocket 服務監聽端口(http和ws一般是80端口,https和wss一般是433端口)
    1. Timeout(機關:毫秒)
    • Connection:連接配接等待完成的最長時間
    • Response:消息響應的最大等待時間
    1. 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。啟動測試計劃,得到如下響應結果。

Jmeter 壓測 ws(s)

察看結果樹響應

Jmeter 壓測 ws(s)

聚合報告響應

wss測試

  相比于ws測試,wss的測試也僅需修改兩處地方。分别将

Port Number

修改為:443,以及将

Protocol

修改為:wss。啟動測試計劃後,我們同樣可以得到系統的正常響應。

寫在最後

  結合“函數助手”或者“CVS資料檔案”的方式,我們同樣可以模拟實作不同的使用者,發送不同的請求參數。有關于JMeter的内容到這就告一段落了,後續如果還有其它的補充,我會及時的更新上去。

Jmeter系列

關于Jmeter Jmeter 壓測 http(s) Jmeter壓測 ws(s)