您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源性能測(cè)試工具 > Jmeter
使用Jmeter對(duì)Websocket進(jìn)行壓力測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2015/6/29 14:26:17 ] 推薦標(biāo)簽:性能測(cè)試工具

  前段時(shí)間本著練習(xí)angularJS+requireJS的目的寫(xiě)了一個(gè)基于nodeJS和socket.io的聊天室,github地址為:https://github.com/towersxu/node-socketIO-angular-require-chatroom。當(dāng)時(shí)沒(méi)有考慮性能方面的問(wèn)題,本著功能實(shí)現(xiàn)的目的好。近剛好有空,打算測(cè)試一下這個(gè)聊天室的性能。
  測(cè)試工具我使用的是JMeter,版本為2.11。這個(gè)是同事拷貝給我的綠色版本。只要有Java環(huán)境可以運(yùn)行(下載地址:apache-jmeter-2.11)。點(diǎn)擊bin目錄下的jmeter.bat可以運(yùn)行了。我這個(gè)版本本身是不支持websocket測(cè)試的,于是需要下載一個(gè)插件叫做JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar,這個(gè)插件需要下載6個(gè)依賴(lài)包,如下圖所示:

  在插件安裝好了后,可以使用jmeter來(lái)模擬socket.io的通信了。首先打開(kāi)chrome控制臺(tái),查看network。進(jìn)入含有socket.io的頁(yè)面時(shí),我們可以看到如下圖所示的幾個(gè)鏈接。

  我們只需要把這幾個(gè)鏈接用jmeter實(shí)現(xiàn)了,可以模擬瀏覽器和服務(wù)器的通信了。首先我們模擬前兩個(gè)請(qǐng)求。點(diǎn)擊請(qǐng)求我們可以看到這個(gè)請(qǐng)求的詳細(xì)信息,從header上我們可以發(fā)現(xiàn)其實(shí)這兩個(gè)請(qǐng)求還是HTTP請(qǐng)求,只不過(guò)帶的參數(shù)不一樣。第二個(gè)請(qǐng)求比第一個(gè)請(qǐng)求多帶一個(gè)參數(shù)叫sid,他的值是第一個(gè)請(qǐng)求所相應(yīng)的。這兩個(gè)請(qǐng)求我們可以看做是TCP中的1次握手過(guò)程(我不懂TCP的三次握手,感覺(jué)這個(gè)應(yīng)該和它差不多)或者說(shuō)是一次認(rèn)證,這個(gè)sid是通信的標(biāo)識(shí)。下面我要使用jmeter模擬這兩個(gè)請(qǐng)求。在線程組的sampler里面選擇HTTP請(qǐng)求。如下圖所示:

  第一個(gè)請(qǐng)求(注意,上面圖片路徑應(yīng)該為/socket.io/?EIO=3&transport=polling   少了個(gè)問(wèn)號(hào)==!)

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd