使用Jmeter自動化壓測TCP Server經驗

使用Jmeter自動化壓測TCP Server經驗

• Jmeter簡介
• Jemter的主要功能
• Jmeter TCP發送方式
• Jmeter 測試TCP配置
• Jmeter快速上手使用


1、Jmeter簡介

Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件做壓力測試,它最初被設計用於Web應用測試,但後來擴展到其他測試領域。 它可以用於測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫、FTP 服務器, 等等。JMeter 可以用於對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。


2、Jmeter的主要功能

  1. 能夠對HTTP和FTP服務器進行壓力 和性能測試, 也可以對任何數據庫進行同樣的測試(通過JDBC)。
  2. 完全的可移植性和100% 純java。
  3. 完全 Swing 和輕量組件支持(預編譯的JAR使用 javax.swing.*)包。
  4. 完全多線程 框架允許通過多個線程併發取樣和 通過單獨的線程組對不同的功能同時取樣。
  5. 精心的GUI設計允許快速操作和更精確的計時。
  6. 緩存和離線分析/回放測試結果。

3、Jmeter TCP發送方式

Jmeter TCP發送有三種啓用方式:

• TCPClientImpl:文本數據,默認爲這種
• BinaryTCPClientImpl:傳輸16進制數據,指定包結束符。這種16進制文件會通過Jmeter GUI來轉換
• LengthPrefixedBinaryTCPClientImpl:數據包中前2個字節爲數據長度。可在bin/jmeter.properties配置文件中tcp.binarylength.prefix.length設置。

在啓動jmeter之前,需要在在啓動文件中設置,如下:
//#---------------------------------------------------------------------------
//# TCP Sampler configuration
//#---------------------------------------------------------------------------
//# The default handler class
#tcp.handler=TCPClientImpl
tcp.handler=BinaryTCPClientImpl


4、Jmeter 測試TCP配置

TCP配置參數表:
在這裏插入圖片描述

  1. TCPClient classname: 缺省的org.apache.jmeter.protocol.tcp.sampler。TCPClientImpl, TCPClient只能實現基於文本格式的套接字應用的測試。隨JMeter提供的還有另外的兩個實現,分別是BinaryTCPClientImpl和LengthPrefixedBinaryTCPClientImpl,用於處理二進制格式的數據,後文將對這兩個做詳細的介紹。
  2. ServerName or IP: 套接字服務器應用的地址
  3. Port Number: 套接字服務器應用的端口
  4. Re-use connection: 如果選中,連接會一直處於打開狀態,否則讀取到數據之後就關閉
  5. Close connection: 如果選中,在TCP Sampler運行完畢之後就會被關閉
  6. SO_LINGER:該配置項用於控制在關閉連接之前是否要等待緩衝區中的數據發送完成。如果SO_LINGER選項指定了值,則在得到關閉連接的請求之後還會等待指定的秒數以完成緩衝區中數據的發送,在指定的SO_LINGER秒數完成後,關閉連接。因此,如果你把該選項設置成0,那麼所有連接在收到關閉連接的時候都會立即關閉,避免產生很多處於TIME_WAIT狀態的套接字。
  7. End of line(EOL) byte value:判斷行結束的byte值,如果你指定的值大於127或者小於-128,則會跳過EOL檢測。比如服務器端返回的字符串都是以回車符結尾,那麼我們可以將該選項設置成10。
  8. Connect Timeout:與服務器套接字應用連接超時時間(毫秒)。
  9. Response Timeout:響應超時時間(毫秒),這個值的設置跟End of line(EOL) byte value有關係,如果End of line(EOL) byte value中的值設置不正確,會導致JMeter一直在等待無法結束,但是如果指定了Response Timeout這個值的話,在到達這個值的時候就關閉連接。
  10. Set NoDelay:是否使用Nagle算法,是否需要使用該選項,需要跟實際的業務情況結合。
  11. Text to Send:發送的文本,跟“CSV dataset config”一起使用能夠從文件中直接讀取。
  12. Username和Password:這兩個選項在TCP相關的Sampler中都未使用,請忽略這兩個選項。

5、Jmeter快速上手使用:

先右鍵建立一個線程組,然後在線程組裏設置線程數(用戶數)和循環次數(用戶執行動作的循環次數),然後右鍵線程組選擇添加Http請求,在裏面選擇服務器名稱端口號等,最後右鍵添加聚合報告(Aggregate Report ),點擊運行後查看運行結果。

在這裏插入圖片描述

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