1. 程式人生 > 其它 >Jmeter 介紹、安裝、配置

Jmeter 介紹、安裝、配置

1. Jemter 介紹

2. Jmeter 檔案目錄介紹

3.JMeter 修改預設配置

1.JMeter 介紹

什麼是JMeter ?

  • JMeter 是輕量級的介面效能測試工具,同時具備一定程度的介面自動化測試能力。
  • JMeter 支援多協議,其中較適合測試使用公有協議(如 HTTP、JDBC 等)的服務或模組,特別適合 B/S 結構的後臺效能系統。
  • JMeter 有大量第三方外掛,也可以比較方便的編寫適合自己使用的外掛。
  • Java 應用(依賴 JDK),可以執行在任何 Java 支援的系統上。
  • 對比 LoadRunner,JMeter 有開源、免費、使用簡單、安裝簡便的特點。雖然功能不如 LR 完善,但是也足夠支撐效能測試工作。
  • 支援指令碼。
  • 支援分散式部署。
  • 圖形化展示結果。

Jmeter 與 Loadrunner 的對比

Loadrunner

  • 優點
    • 多使用者(支援數量單位:萬)
    • 詳細分析報表
    • 支援 IP 欺騙
  • 缺點
    • 收費
    • 體積龐大(單位 GB)
    • 無法定製功能

Jmeter

  • 優點
    • 免費、開源
    • 小巧
    • 豐富學習資料及擴充套件元件
    • 應用廣泛
    • 易上手
  • 缺點
    • 不支援 IP 欺騙
    • 分析和報表能力相對於 LR欠缺精度

基本原理

錄製的原理:Jmeter 作為瀏覽器與 web 伺服器之間的代理閘道器,可以捕獲瀏覽器的請求和 web 伺服器的響應,通過執行緒來模擬真實使用者對 web 伺服器的訪問壓力。

併發壓測原理:Jmeter 內部建立一個執行緒池,多執行緒執行取樣器產生大量負載,在執行過程中通過斷言來驗證結果的正確性,可以通過監聽來記錄測試結果。

基本概念

測試計劃(Test Plan)

  • JMeter 測試計劃是一系列配置元件、執行緒組,控制器, Sampler,斷言,監聽器、定時器組成的集合。
  • JMeter 的各種部件以樹形目錄結構在工程中被組織起來,根節點下屬器件型別一般是配置器、執行緒組,監聽器。
  • JMeter 執行時會首先執行配置器,然後啟動執行緒組,全部執行緒組中 Sampler 的執行結果會在配置的監聽器中出現。
  • 雖然從介面上可以在測試計劃根節點上新增監聽器、斷言,但是絕大多數情況下,不需要在根節點配置這兩類器件。

執行緒組(Thread Group)

  • 執行緒組是一組器件,是一系列配置器、控制器、定時器、 Sampler,斷言和監聽器的集合。
  • 執行緒組的執行緒數量、執行次數、啟動時間都可以配置。
  • 執行緒啟動後會順序執行下屬的配置器、控制器、定時器、 Sampler、斷言和監聽器,實現一系列包含測試邏輯的操作。

取樣器(Sampler)

  • Sampler 中文翻譯為取樣器,可以理解為對被測目標的一次請求或呼叫
  • JMeter 原生攜帶了很多常用的 Sampler,如 http、bsf、jsr223、 jdbc 等。
  • 一般情況下,進行 web 後端測試使用 http、bsf、jsr223 三個型別的 Sampler,加上對應的控制器已可以滿足需要了。
  • 偶爾可能會用到 jdbc,有些系統會使用 websocket 等第三方外掛。

邏輯控制器(Logic Contoller)

  • Logic Contoller 中文名叫邏輯控制器。這一類器件用於控制執行緒組內部的取樣器的執行邏輯
  • 以 http 取樣器為例, 可以通過 loop 控制器定義某個或某幾個取樣器的執行次數、通過 if 控制器定義某個取樣器執行後,接下來執行哪個取樣器。
  • 邏輯控制器的作用和各種語言中的邏輯控制語句非常相似,所以使用過任何語言的同學應該可以很好理解。
  • 想順利使用 Jmeter,掌握一門這個工具支援的計算機語言是必須的,對於沒有使用過計算機語言的同學,推薦可以從 javascript 學起。

定時器(Timer)

  • Timer 中文翻譯為定時器。定時器一般只在執行緒組中被使用,作用實際上是讓執行緒等待一段時間
  • Jmeter 提供很多型別的定時器有很多型別,可以根據自己的需要選擇合適的。

斷言(Assertion)

  • 斷言是條件判斷器件。斷言為真時, Jmeter 認為取樣器的執行結果為成功,反之亦然。
  • 斷言一般情況新增在取樣器上,取樣器執行完畢, Jmeter 會呼叫取樣器上的斷言,根據斷言中的配置或程式碼判斷執行結果為成功還是失敗。
  • 以 Response Assertion 為例,選擇包含,並填寫字串後,若取樣器返回包含字串的即為成功,反之為失敗。

監聽器(Listener)

  • 監聽器用於收集 Jmeter 的執行結果並展示給使用者
  • JMeter 提供的大部分監聽器為統計報告。能夠提供 Sampler 執行結果展示的的只有 view result tree。
  • 最常用的監聽器是Aggregate ReportView Result Tree

Jmeter 安裝

  1. 本機安裝 JDK1.8+ 版本
  2. 下載 Jmeter 的安裝包:http://jmeter.apache.org/download_jmeter.cgi
  3. 下載完成後直接解壓縮即可,無須安裝
  4. 點選 bin 目錄下的 jmeter.bat 檔案即可啟動 jmeter

Jmeter 啟動方式

JMeter啟動有多種方式, 進入JMeter安裝目錄下的bin目錄:

  • 雙擊jmeter.bat
  • 雙擊ApacheJMeter.jar選擇使用java程式開啟
  • 命令列輸入:java -jar ApacheJMeter.jar

2.JMeter檔案目錄介紹

bin 目錄

存放可執行檔案和配置檔案。

  • jmeter.bat:Windows 的啟動檔案
  • jmeter.log:日誌檔案
  • jmeter.sh:Linux 的啟動檔案
  • jmeter.properties:系統配置檔案
  • jmeter-server.bat:Windows 分散式測試要用到的伺服器配置
  • jmeter-serve:Linux 分散式測試要用到的伺服器配置

docs 目錄

docs 是 JMeter 的 api 文件, 可開啟 api/index.html 頁面來檢視。

rintable_docs 目錄

printable_docs 的 usermanual 子目錄下的內容是 JMeter 的使用者手冊文件

usermanual 下 component_reference.html 是最常用到的核心元件幫助文件。

提示:printable_docs 的 demos 子目錄下有一些常用的 JMeter 指令碼案例, 可以作為參考。

lib 目錄

該目錄用來存放 JMeter 依賴的 jar 包和使用者擴充套件所依賴的 jar 包。

3. Jmeter 修改預設配置

漢化配置

實現 JMeter 介面的漢化包含兩種方式:

1)臨時性

  • 啟動JMeter -> 選擇選單“Options” -> Choose Language -> Chinese (Simplified)

2)永久性

  1. 找到 Jmeter 安裝目錄下的 bin 目錄;
  2. 開啟 jmeter.properties 檔案, 把第 37 行修改為“language=zh_CN”;
  3. 重啟 JMeter 即可。

修改主題

JMeter 預設主題是黑色的, 可以通過以下步驟修改:

  • 啟動 JMeter -> 選擇選單“選項” -> 外觀 -> Windows(選擇自己喜歡的主題即可)