JMeter Websocket 二進(jìn)制Binary壓力測(cè)試或接口測(cè)試

背景

最近在做游戲項(xiàng)目硅堆,做好java服務(wù)端皂冰,需要本地調(diào)試Websock服務(wù),并且是二進(jìn)制binary形式傳輸苛聘,網(wǎng)上的很多都是text形式傳輸?shù)臏y(cè)試頁(yè)面剖效,所以不符合要求嫉入。為了解決websocket的二進(jìn)制傳輸,并實(shí)現(xiàn)websocket通信機(jī)制的心跳問(wèn)題璧尸,所以寫了一個(gè)做法咒林。

目的

  1. Jmeter與java后端websocket服務(wù)建立連接
  2. 因?yàn)閣ebsocket機(jī)制,有定時(shí)檢測(cè)連接是否存儲(chǔ)爷光,所以需要Jmeter定時(shí)維護(hù)連接存在垫竞,不然超過(guò)心跳時(shí)間會(huì)斷開連接。
  3. 建立連接后蛀序,二進(jìn)制傳輸

操作

1. 下載Jmeter

https://jmeter.apache.org/download_jmeter.cgi
上官網(wǎng)欢瞪,找最新的版本,找到zip格式的壓縮文件徐裸,便于在windows下解壓遣鼓。
解壓后,找到bin目錄下的jmeter.bat文件重贺,則會(huì)啟動(dòng)Jmeter

2. 更改語(yǔ)言

點(diǎn)擊菜單欄-option-language-Chinese骑祟,則能顯示中文


1.png

3. 下載Jmeter的Websocket插件

https://bitbucket.org/pjtr/jmeter-websocket-samplers/src
下載后,放到j(luò)meter目錄的lib\ext下气笙,并重啟jmeter

如:
D:\Program Files\apache-jmeter-5.2.1\lib\ext\

4. 建立線程組

1.png

我這里是自測(cè)次企,所以用了一次循環(huán)


2.png

5. 建立 websocket寫入 樣例

對(duì)著 線程組右鍵-》添加-》取樣器-》 websocket simple write sample

5.1 創(chuàng)建連接

填寫ip 、端口潜圃、連接的path缸棵。

說(shuō)明一下而這個(gè)只是對(duì)服務(wù)端創(chuàng)建連接,并不是真正的通信傳輸數(shù)據(jù)用谭期。websocket都是創(chuàng)建連接后堵第,后續(xù)才真正的傳輸通信,如:聊天室建立房間后續(xù)再通信隧出。

3.png

5.2 創(chuàng)建 察看結(jié)果樹

用于看每次通信是否有成功連接型诚。
對(duì)著樣例右鍵-》添加-》監(jiān)聽器-》察看結(jié)果樹

6. 創(chuàng)建真正通信用的websocket寫樣例

同樣在一個(gè)線程組下,創(chuàng)建websocket寫樣例鸳劳。但是這個(gè)時(shí)候不需要填寫ip和端口,只需要選擇已存在的一個(gè)連接就行也搓。


4.png

6.1 填寫與傳輸二進(jìn)制

這個(gè)地方就比較麻煩赏廓,不能直接填json什么的,只能把對(duì)象寫好傍妒,然后轉(zhuǎn)換為byte數(shù)組幔摸,再轉(zhuǎn)為16進(jìn)制的數(shù)字放進(jìn)jmeter。


5.png

我這兩個(gè)類呢颤练,是個(gè)protobuf軟件proto.exe生成出來(lái)的類來(lái)的既忆,里面有轉(zhuǎn)換為toByteArray方法,得到二進(jìn)制數(shù)組后,再寫個(gè)工具把剛剛的數(shù)組轉(zhuǎn)換為16進(jìn)制患雇,就得出結(jié)果跃脊。


6.png

執(zhí)行后,打印出來(lái)后苛吱,得到這個(gè)數(shù)字就可以放進(jìn)jmeter的參數(shù)欄酪术。參數(shù)類型,記得選binary


到這里基本上就完成了翠储。為了壓測(cè)時(shí)绘雁,我們需要對(duì)websocket后端進(jìn)行心跳維護(hù)。

7. 最后弄弄定時(shí)心跳

對(duì)著線程組右鍵-》添加-》邏輯控制器-》runningtime控制器


7.png

填好這個(gè)定時(shí)任務(wù)存活時(shí)間

7.1 創(chuàng)建心跳傳輸內(nèi)容

如同第6點(diǎn) 那樣援所,創(chuàng)建websocket寫樣例庐舟,傳輸二進(jìn)制數(shù)據(jù)。

7.2 創(chuàng)建固定定時(shí)器

填寫這個(gè)定時(shí)器住拭,每多少秒執(zhí)行一次挪略。


8.png

本文到這里就結(jié)束了。本次講解的是websocket的開發(fā)自測(cè)废酷,可能對(duì)于大部分java開發(fā)來(lái)講都用不上瘟檩,只有游戲的同學(xué)會(huì)使用websocket,搞游戲澈蟆、聊天室墨辛、websocket等項(xiàng)目的同學(xué)打個(gè)call吧。


歡迎關(guān)注公眾號(hào)趴俘,文章更快一步

我的公眾號(hào) :地藏思維

掘金:地藏Kelvin

簡(jiǎn)書:地藏Kelvin

我的Gitee: 地藏Kelvin https://gitee.com/kelvin-cai

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末睹簇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子寥闪,更是在濱河造成了極大的恐慌太惠,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疲憋,死亡現(xiàn)場(chǎng)離奇詭異凿渊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)缚柳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門埃脏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人秋忙,你說(shuō)我怎么就攤上這事彩掐。” “怎么了灰追?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵堵幽,是天一觀的道長(zhǎng)狗超。 經(jīng)常有香客問(wèn)我,道長(zhǎng)朴下,這世上最難降的妖魔是什么努咐? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮桐猬,結(jié)果婚禮上麦撵,老公的妹妹穿的比我還像新娘。我一直安慰自己溃肪,他們只是感情好免胃,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著惫撰,像睡著了一般羔沙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厨钻,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天扼雏,我揣著相機(jī)與錄音,去河邊找鬼夯膀。 笑死诗充,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的诱建。 我是一名探鬼主播蝴蜓,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼俺猿!你這毒婦竟也來(lái)了茎匠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤押袍,失蹤者是張志新(化名)和其女友劉穎诵冒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谊惭,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡汽馋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了圈盔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豹芯。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖药磺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情煤伟,我是刑警寧澤癌佩,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布木缝,位于F島的核電站,受9級(jí)特大地震影響围辙,放射性物質(zhì)發(fā)生泄漏我碟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一姚建、第九天 我趴在偏房一處隱蔽的房頂上張望矫俺。 院中可真熱鬧,春花似錦掸冤、人聲如沸厘托。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)铅匹。三九已至,卻和暖如春饺藤,著一層夾襖步出監(jiān)牢的瞬間包斑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工涕俗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留罗丰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓再姑,卻偏偏與公主長(zhǎng)得像萌抵,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子询刹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-WebSo...
    敢夢(mèng)敢當(dāng)閱讀 8,892評(píng)論 0 50
  • 什么是WebSocket呢谜嫉? WebSocket是HTML5新增的一種通信協(xié)議,目標(biāo)主流的瀏覽器都支持這個(gè)協(xié)議凹联,比...
    JunChow520閱讀 7,356評(píng)論 1 5
  • Socket并非是一個(gè)協(xié)議沐兰,而是為了方便使用TCP而抽象出來(lái)的一層,是位于應(yīng)用層和傳輸控制層之間的一組接口蔽挠。換句話...
    JunChow520閱讀 3,336評(píng)論 0 4
  • 很多場(chǎng)景下的應(yīng)用對(duì)數(shù)據(jù)實(shí)時(shí)更新要求很高住闯。比如股票交易,數(shù)字資產(chǎn)交易澳淑,還有一些需要?jiǎng)討B(tài)更新數(shù)據(jù)的大屏數(shù)據(jù)可視化應(yīng)用等...
    前端進(jìn)階體驗(yàn)閱讀 1,288評(píng)論 0 4
  • # MEMORY NETWORK導(dǎo)讀 ## 出發(fā)點(diǎn)常見的機(jī)器學(xué)習(xí)模型都缺少一種簡(jiǎn)單的方法來(lái)存儲(chǔ)長(zhǎng)程記憶比原,其潛在含義...
    AndyTy閱讀 203評(píng)論 0 1