當前位置:編程學習大全網 - 源碼下載 - 如何使用 JMeter 對 TCP 協議的服務進行負載測試

如何使用 JMeter 對 TCP 協議的服務進行負載測試

1.建立壹種類型測試

這裏只描述簡單的tcp測試建立步驟,因為目前支持的測試類型很多,無法壹壹陳述,功能細節部分可以參考JMeter文檔

1)創建測試線程組

2)根據需要設定線程組參數

3)建立TCP采樣

3)配置TCP采樣參數

基本上壹個簡單的測試計劃就完成了,點擊運行采樣,就會將文本發送出去。

2.高級功能配置

1)配置結果查看監聽器

有時候需要查看線程組執行結果情況,這個可以通過設定采樣結果查看

針對上面配置的線程組應該執行6次,也就是發送6條消息,通過監控器可以看到的確有6個采樣結果,說明執行成功

2)配置變量

有時候需要在報文中加上壹些變化的內容,可以通過在文本中增加變量設定來實現

如增加壹個變量名 bank, 其值為 1111,在前面發送的報文中加上${bank}即可引用,如

執行之後就可以在監控器中看到報文中有1111了

3)配置TCP 二進制報文

大多數情況下,報文可能非純文本形式,常常都是不可讀的二進制,所以這種情況下需要配置二進制報文。當前JMeter支持HEX形式,也就是16進制的報文輸入配置

參考: mand id和報文長度。比如上文中文本長度在編輯器狀態欄上顯示155長,假定command id是1.

System.out.println("155 hex " + Integer.toHexString(155)); --- 9b

System.out.println("1 hex " + Integer.toHexString(1)); ---1

如果command id是4個字節那麽16進制字符串就是 00 00 00 01

如果length也是4個字節那麽16進制字符串就是 00 00 00 9b

去掉空格加入到前面報文中就拼成如下新報文

000000010000009b3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e3c544c533e3c707273636f64653e6c6f67696e3c2f707273636f64653e3c69643e313233343536373c2f69643e3c746f6b656e3e75736a64666a6b736137356b733833326f6b7564736a643934383737616b6a6475613c2f746f6b656e3e3c2f544c533e

再把新報文放入發送字符串輸入框中。

b.修改JMeter啟動配置,就是前文提到的指定BinaryTCPClientImpl適配

在jmeter.properties文件中找到如下部分,修改壹下

#---------------------------------------------------------------------------

# TCP Sampler configuration

#---------------------------------------------------------------------------

# The default handler class

#tcp.handler=TCPClientImpl

tcp.handler=BinaryTCPClientImpl

重新執行TCP測試,可以看到服務器端正常收到報文,如圖

jmeter測試TCP服務器,使用TCP采樣器模擬發送TCP請求。

TCP采樣器:打開壹個到指定服務器的TCP / IP連接,然後發送指定文本並等待響應。

jmeter模擬發送TCP請求的方法:

1.新建線程組,然後在線程組中新建TCP采樣器

TCP采樣器中填寫服務器地址、端口和“要發送的文本”,其它選項根據需要選填:

re_use connection表示重復發送連接請求

close connection 關閉連接

如果TCP請求需要用戶名/密碼,可以在登錄配置中填寫

2.新建“察看結果樹”監視器,查看發送的請求和響應的結果。如果需要發送16進制報文這個地方會失敗。

jmeter發送16進制TCP報文的方法:

很多TCP服務器報文為16進制,並且多數不能轉換成文本發送,而jmeter默認發送文本。

jmeter.properties中修改tcp.handler=BinaryTCPClientImpl ,啟動jmeter重新發送,抓包查看既是16進制的tcp報文。

另壹個方法:可以在工作臺新建–非測試元件–Property Display,Property Display中修改jmeter.properties只對當前進程有效。

  • 上一篇:規則樹源代碼
  • 下一篇:如何返回源代碼的補碼
  • copyright 2024編程學習大全網