??上一篇Jmeter壓測http(s)介紹了如何使用Jmeter壓測常規(guī)的web服務(wù)接口啼止。本文將繼續(xù)演示如何使用Jmeter對ws(s)進(jìn)行壓力測試。
??有過Socket相關(guān)開發(fā)經(jīng)驗(yàn)的人應(yīng)該都不會(huì)陌生积糯,ws協(xié)議就是WebSocket協(xié)議,而wss對應(yīng)就是在SSL上運(yùn)行的WebSocket協(xié)議。有關(guān)WebSocket的知識(shí)拴疤,這里不做過多說明骚揍,有興趣可以看看本人寫的另外一篇文章:記錄一次遷移wss WebSocket的事故字管。
配置環(huán)境
??由于JMeter需要添加幾個(gè)擴(kuò)展Jar包后方可支持ws測試,所以我們需要配置相關(guān)的測試環(huán)境信不,以下是這些jar包的下載地址嘲叔。
??將下載好的Jar包放到JMeter的lib\ext
目錄下即可。
ws測試
??啟動(dòng)Jmeter后抽活,右鍵依次選擇 “測試計(jì)劃” -> “添加” -> “Threads(Users)” -> “線程組” -> “Sampler” -> “WebSocket Sampler”硫戈。
選項(xiàng)說明:
-
- WebServer
- Server Name or IP:目標(biāo)WebSocket服務(wù)器所在地址或名稱
- Port Number:WebSocket 服務(wù)監(jiān)聽端口(http和ws一般是80端口,https和wss一般是433端口)
-
- Timeout(單位:毫秒)
- Connection:連接等待完成的最長時(shí)間
- Response:消息響應(yīng)的最大等待時(shí)間
-
- WebSocket Request
- Implementation:目前僅支持RFC6455(v13) 下硕,這也是最新版的WebSocket協(xié)議標(biāo)準(zhǔn)
- Protocol:WebSocket標(biāo)識(shí)丁逝,ws或者wss
- Streaming Connection:用于TCP會(huì)話是否需要保持。如果勾上表示連接會(huì)一直存在卵牍,否則在第一次響應(yīng)后該連接就會(huì)被關(guān)閉
- Request data:請求要發(fā)送的數(shù)據(jù)
- Path:WebSocket端點(diǎn)路徑
??為了方便果港,下面以一個(gè)在線的WebSocket網(wǎng)站來開展測試。分別在Server Name or IP
一欄中輸入:echo.websocket.org糊昙,在Request data
一欄中輸入:Send test辛掠。啟動(dòng)測試計(jì)劃,得到如下響應(yīng)結(jié)果释牺。
wss測試
??相比于ws測試萝衩,wss的測試也僅需修改兩處地方。分別將Port Number
修改為:443没咙,以及將Protocol
修改為:wss猩谊。啟動(dòng)測試計(jì)劃后,我們同樣可以得到系統(tǒng)的正常響應(yīng)祭刚。
寫在最后
??結(jié)合“函數(shù)助手”或者“CVS數(shù)據(jù)文件”的方式牌捷,我們同樣可以模擬實(shí)現(xiàn)不同的用戶墙牌,發(fā)送不同的請求參數(shù)。有關(guān)于JMeter的內(nèi)容到這就告一段落了暗甥,后續(xù)如果還有其它的補(bǔ)充喜滨,我會(huì)及時(shí)的更新上去。