一個開源 Java 應用程序,旨在測量效能和負載測試應用程式。
由 Apache 軟體基金會提供
Apache JMeter 可以測量效能並對靜態和動態 Web 應用程式進行負載測試。
它可用於模擬伺服器、伺服器群組、網路或物件上的重負載,以測試其強度或分析不同負載類型下的整體效能。
完全可移植性和 100% Java。
多線程允許多個線程並發採樣,並允許單獨的線程組同時採樣不同的函數。
能夠載入和效能測試許多應用程式/伺服器/協定類型:
功能齊全的測試 IDE,允許快速記錄測試計劃(從瀏覽器或本機應用程式)、建置和調試。
命令列模式(非 GUI/無頭模式)可從任何 Java 相容作業系統(Linux、Windows、Mac OSX...)載入測試
完整且隨時可以呈現的動態 HTML 報告
即時報告第三方資料庫,如 InfluxDB 或 Graphite
透過從最受歡迎的回應格式、HTML、JSON、XML 或任何文字格式中提取資料的能力,輕鬆關聯
最新版本的詳細資訊可以在 JMeter Apache 專案網站上找到
運行 Apache JMeter 需要滿足以下要求:
Java 解譯器:
Apache JMeter 的執行需要完全相容的 Java 17 執行環境。具有keytool
實用程式的 JDK 更適合記錄 HTTPS 網站。
可選罐子:
有些 jar 不包含在 JMeter 中。如果需要,應下載這些並將其放置在 lib 目錄中
Java 編譯器(可選):
不需要 Java 編譯器,因為發行版包含預編譯的 Java 二進位存檔。
請注意,需要編譯器來建立 Apache JMeter 插件。
請注意,目錄名稱中的空格可能會導致問題。
發布版本
將二進位存檔解壓縮到適當的目錄結構。
bin
目錄jmeter
(Un*x) 或jmeter.bat
(Windows) 檔案。對於 Windows,還有一些其他腳本,您可以將 JMX 檔案拖放到其中:
jmeter-n.cmd
- 將檔案作為非 GUI 測試運行jmeter-nr.cmd
- 將檔案作為非 GUI 遠端(客戶端-伺服器)測試運行jmeter-t.cmd
- 載入檔案準備將其作為 GUI 測試運行自本版本發布之日起可用的文件也以 HTML 格式包含在 printable_docs 目錄中,並且可以從名為 index.html 的文件開始瀏覽。
請參閱問題追蹤。
將來源存檔解壓縮到適當的目錄結構中。大多數 3rd 方庫檔案可以透過將其解壓縮到相同的目錄結構中來從二進位檔案中提取。
任何可選的 jar(見上文)都應放置在lib/opt
和/或lib
中。
lib/opt
中的 Jars 將用於建置 JMeter 和執行單元測試,但不會在執行時使用。
這對於測試如果其他 JMeter 用戶未下載可選 jar 會發生什麼情況非常有用。
如果您使用代理,您可以在~/.gradle/gradle.properties
中設定一些建置屬性,以便 Gradle 使用代理程式:
systemProp.http.proxyHost =proxy.example.invalid
systemProp.http.proxyPort =8080
systemProp.http.proxyUser =your_user_name
systemProp.http.proxyPassword =your_password
systemProp.https.proxyHost =proxy.example.invalid
systemProp.https.proxyPort =8080
systemProp.https.proxyUser =your_user_name
systemProp.https.proxyPassword =your_password
JMeter 是使用 Gradle 建構的,它使用 Gradle 的 JVM 專案工具鏈來配置 JDK。這表示程式碼會在本地搜尋所需的 JDK,如果找不到則下載它們。
預設情況下,程式碼將使用 JDK 17 進行構建,但它將目標版本設為 8,因此生成的工件將與 Java 8 相容。
以下命令建置並測試 JMeter:
./gradlew build
如果您想使用自訂 JDK 進行構建,可以設定-PjdkBuildVersion=11
,如果您想使用不同的 JDK 進行測試,則可以選擇-PjdkTestVersion=21
。
您可以透過執行列出可用的建置參數
./gradlew parameters
如果系統沒有 GUI 顯示,則:
./gradlew build -Djava.awt.headless=true
輸出工件(jar、報表)放置在build
資料夾中。例如,可以在src/dist/build/distributions
下找到二進位工件。
以下命令將編譯應用程式並使您能夠從bin
目錄執行jmeter
。
請注意,它完全刷新了
lib/
內容,因此如果您將自訂插件安裝到lib/
它將刪除它們。但是,它會保持lib/ext/
插件完好無損。
./gradlew createDist
或者,您可以讓 Gradle 啟動 GUI:
./gradlew runGui
建構和貢獻在建構 JMeter 和 CONTRIBUTING.md 中有詳細解釋。有關可使用 Gradle 建置 JMeter 的任務的更多信息,請參閱 gradle.md。
程式碼可以從以下位置取得:
有關法律和許可信息,請參閱以下文件:
該發行版可能包括設計用於加密軟體的軟體。您目前居住的國家/地區可能對加密軟體的進口、擁有、使用和/或再出口到其他國家/地區有限制。在使用任何加密軟體之前,請檢查您所在國家/地區有關進口、擁有或使用以及再出口加密軟體的法律、法規和政策,以了解是否允許這樣做。請參閱 https://www.wassenaar.org/ 以了解更多資訊。
美國政府商務部工業與安全局 (BIS) 已將此軟體分類為出口商品控制編號 (ECCN) 5D002.C.1,其中包括使用非對稱演算法或執行加密功能的資訊安全軟體。此 Apache Software Foundation 發行版的形式和方式使其符合目標代碼和原始代碼的許可例外 ENC 技術軟體無限制 (TSU) 例外(請參閱 BIS 出口管理條例第 740.13 節)的出口資格。
以下提供了有關可能受加密軟體出口管制的隨附軟體的更多詳細資訊:
Apache JMeter 與 Java 安全通訊端擴充 (JSSE) API 介面以提供
Apache JMeter 與 Java 加密擴充 (JCE) API 介面(透過 Apache HttpClient4)提供
Apache JMeter 不包含 JSSE 或 JCE 的任何實作。
感謝您使用 Apache JMeter。
mxparser 注意事項:
該產品包括由印第安納大學 Extreme 開發的軟體!實驗室。欲了解更多信息,請訪問 http://www.extreme.indiana.edu/