Jmeter對Web Socket進行壓力測試

一.簡單介紹一下Sample Socket組件的界面

1、WebServer
(1)Server Name or IP:WebSocket發送的目標服務器的地址或者名稱
(2)Port Number:WebSocker服務器監聽的端口號。(一般是HTTP 80端口,可以通過WireShark數據包得到)

2、Timeout: 
(1)Connection – 發送一個連接請求後,Jmeter等待連接完成的最長時間,單位是毫秒。
(2)Response - 對響應消息的最大等待時間。

3、WebSocket Request
(1)Implementation – 只支持RFC6455(v13) ,WebSocket協議標準的最新版。
(2)Protocol – 有ws與wss之分,  ws前綴是WebSocket連接的辨別標識,wss前綴是WebSocket安全連接的辨別標識。根據自己的實際情況填寫
(3)Streaming Connection – 選擇這個TCP session要不要保持,如果勾上標識連接會一直存在,如果沒有勾上,那麼得到第一次響應後該鏈接就會被關閉。(*重要!不勾選的話,請求成功就會斷開連接)
(4)Request data:請求內容,填入將要發送的請求,要跟開發溝通好,這個是什麼格式的消息。

(5)Connection Id: 連接ID (*重要!就是通過這個來區分不同會話)

4.WebSocket Response
(1)Response Pattern – 採樣器將等待含有該標識的消息並繼續通信(或者直到timeout,該連接關閉)
(2)Close Connection Pattern – 如果服務器返回的消息含有這樣的字符,就結束會話。
(3)Message Backlog – 保留返回結果的數量(如果希望只保留最新一條,可以設定爲1)

二.嘗試發起WebSocket請求

我們可以在Jmeter上完成相同的請求。需求是建立2個websocket會話。第1個會話發出3條消息,第2個會話發出2條消息。

1) 添加配置5個WebSocket Sampler。

2) 將前3個採樣器的Connection Id填入1,將後2個採樣器的Connection Id填入2

3) 添置監視器,運行後查看結果。

 我們可以看到第5個採樣器的Message count是2,第4個採樣器建立了新的會話,第5個採樣器請求時,連接還沒中斷。 
*Jmeter執行完成後,會斷開所有連接。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章