Jmeter測試Websocket介面

前言

websocket是什麼?

WebSocket 協議在2008年誕生,2011年成為國際標準。所有瀏覽器都已經支援了。

它的最大特點就是,伺服器可以主動向客戶端推送資訊,客戶端也可以主動向伺服器發送資訊,是真正的雙向平等對話,屬於伺服器推送技術的一種。

其他特點包括:

(1)建立在 TCP 協議之上,伺服器端的實現比較容易。

(2)與 HTTP 協議有著良好的兼容性。默認埠也是80和443,並且握手階段採用 HTTP 協議,因此握手時不容易屏蔽,能通過各種 HTTP 代理伺服器。

(3)數據格式比較輕量,性能開銷小,通訊高效。

(4)可以發送文本,也可以發送二進位數據。

(5)沒有同源限制,客戶端可以與任意伺服器通訊。

(6)協議標識符是ws(如果加密,則為wss),伺服器網址就是 URL。

為什麼要用websocket?

初次接觸 WebSocket 的人,都會問同樣的問題:我們已經有了 HTTP 協議,為什麼還需要另一個協議?它能帶來什麼好處?

答案很簡單,因為 HTTP 協議有一個缺陷:通訊只能由客戶端發起。

舉例來說,我們想了解今天的天氣,只能是客戶端向伺服器發出請求,伺服器返回查詢結果。HTTP 協議做不到伺服器主動向客戶端推送資訊。

這種單向請求的特點,註定了如果伺服器有連續的狀態變化,客戶端要獲知就非常麻煩。我們只能使用”輪詢”:每隔一段時候,就發出一個詢問,了解伺服器有沒有新的資訊。最典型的場景就是聊天室。

輪詢的效率低,非常浪費資源(因為必須不停連接,或者 HTTP 連接始終打開)。因此,工程師們一直在思考,有沒有更好的方法。WebSocket 就是這樣發明的。

安裝使用

1、首先安裝jmeter
2、然後安裝jmeter插件管理包
3、安裝websocket插件
上面的1、2步驟我之前的教程已經寫過了,這裡不在重複了重點講步驟3,需要的朋友的請參考之前的教程。

  • 進入插件包管理
  • 下載websocket插件
  • 創建websocket請求
  • 設置請求的參數(推薦一個開放的websocket介面測試網站://www.websocket.org/echo.html)
  • 查看結果
Tags: