# Windows 環境 JMeter 完整安裝與使用指南
本指南將帶您從零開始,在 Windows 系統上安裝 Java、設定環境變數、安裝 JMeter,並執行第一個效能測試。
---
## 📋 目錄
1. [安裝 Java JDK](#1-安裝-java-jdk)
2. [設定 Java 環境變數](#2-設定-java-環境變數)
3. [驗證 Java 安裝](#3-驗證-java-安裝)
4. [下載與安裝 JMeter](#4-下載與安裝-jmeter)
5. [設定 JMeter 環境變數(可選)](#5-設定-jmeter-環境變數可選)
6. [設定 JMeter 繁體中文界面](#6-設定-jmeter-繁體中文界面)
7. [啟動 JMeter GUI](#7-啟動-jmeter-gui)
8. [載入測試計劃](#8-載入測試計劃)
9. [執行測試](#9-執行測試)
10. [查看測試結果](#10-查看測試結果)
11. [使用命令列模式執行測試](#11-使用命令列模式執行測試)
12. [常見問題排除](#12-常見問題排除)
---
## 1. 安裝 Java JDK
JMeter 需要 Java 8 或更高版本才能運行。
### 步驟 1.1:下載 Java JDK
**推薦:使用 OpenJDK(免費)**
#### 方法 A:下載 Microsoft OpenJDK(推薦)
1. 前往 Microsoft OpenJDK 下載頁面:
```
https://learn.microsoft.com/zh-tw/java/openjdk/download
```
2. 選擇適合您的版本:
- **JDK 17** 或 **JDK 21**(長期支援版本,推薦)
- 選擇 **Windows x64 MSI** 安裝檔
3. 下載完成後,檔案名稱類似:
```
microsoft-jdk-17.0.x-windows-x64.msi
```
#### 方法 B:下載 Oracle JDK
1. 前往 Oracle Java 下載頁面:
```
https://www.oracle.com/java/technologies/downloads/
```
2. 選擇 **Java 17** 或更新版本
3. 選擇 **Windows** → **x64 Installer**
### 步驟 1.2:安裝 Java JDK
1. **執行下載的 MSI 安裝檔**
- 雙擊 `.msi` 檔案
2. **按照安裝精靈步驟**
- 點擊「Next」
- 接受授權條款
- 選擇安裝路徑(建議使用預設路徑):
```
C:\Program Files\Microsoft\jdk-17.0.x\
或
C:\Program Files\Java\jdk-17.0.x\
```
- 記住這個安裝路徑,稍後設定環境變數時需要
3. **完成安裝**
- 點擊「Install」
- 等待安裝完成
- 點擊「Finish」
---
## 2. 設定 Java 環境變數
設定環境變數讓系統能夠找到 Java。
### 步驟 2.1:開啟系統環境變數設定
**方法 1:透過控制台**
1. 按 `Win + X`,選擇「**系統**」
2. 點擊「**進階系統設定**」
3. 點擊「**環境變數**」按鈕
**方法 2:透過執行視窗(較快)**
1. 按 `Win + R`
2. 輸入:`sysdm.cpl`,按 Enter
3. 切換到「**進階**」標籤
4. 點擊「**環境變數**」按鈕
### 步驟 2.2:設定 JAVA_HOME
1. 在「**系統變數**」區域,點擊「**新增**」
2. 輸入以下資訊:
- **變數名稱**:`JAVA_HOME`
- **變數值**:您的 Java 安裝路徑(不含 `\bin`)
範例:
```
C:\Program Files\Microsoft\jdk-17.0.12
```
或
```
C:\Program Files\Java\jdk-17.0.9
```
3. 點擊「**確定**」
### 步驟 2.3:設定 Path 變數
1. 在「**系統變數**」區域,找到並選擇「**Path**」變數
2. 點擊「**編輯**」
3. 點擊「**新增**」
4. 輸入:
```
%JAVA_HOME%\bin
```
5. 點擊「**確定**」
6. 再次點擊「**確定**」關閉所有視窗
### 📝 重要提醒
- 設定完成後,**必須重新開啟命令提示字元**才會生效
- 已開啟的命令提示字元不會自動更新環境變數
---
## 3. 驗證 Java 安裝
### 步驟 3.1:開啟命令提示字元
1. 按 `Win + R`
2. 輸入:`cmd`,按 Enter
### 步驟 3.2:檢查 Java 版本
輸入以下命令:
```cmd
java -version
```
**預期輸出**(類似):
```
openjdk version "17.0.12" 2024-07-16 LTS
OpenJDK Runtime Environment Microsoft-9388408 (build 17.0.12+7-LTS)
OpenJDK 64-Bit Server VM Microsoft-9388408 (build 17.0.12+7-LTS, mixed mode, sharing)
```
### 步驟 3.3:檢查 JAVA_HOME
輸入以下命令:
```cmd
echo %JAVA_HOME%
```
**預期輸出**(類似):
```
C:\Program Files\Microsoft\jdk-17.0.12
```
### ✅ 驗證成功
如果兩個命令都能正確顯示,表示 Java 安裝成功!
---
## 4. 下載與安裝 JMeter
### 步驟 4.1:下載 JMeter
1. **前往 Apache JMeter 官方網站**:
```
https://jmeter.apache.org/download_jmeter.cgi
```
2. **選擇下載版本**:
- 在「**Binaries**」區域
- 下載 **apache-jmeter-x.x.zip**(ZIP 格式)
- 例如:`apache-jmeter-5.6.3.zip`
3. **選擇鏡像站下載**
- 點擊任一鏡像站連結即可開始下載
### 步驟 4.2:解壓縮 JMeter
1. **選擇安裝位置**
建議路徑(避免路徑包含空格):
```
C:\JMeter\apache-jmeter-5.6.3\
```
或
```
D:\Tools\apache-jmeter-5.6.3\
```
2. **解壓縮**
- 在下載的 ZIP 檔案上按右鍵
- 選擇「**解壓縮全部**」
- 選擇目標資料夾(如上述建議路徑)
- 點擊「**解壓縮**」
3. **驗證目錄結構**
解壓縮後的目錄應該包含:
```
C:\JMeter\apache-jmeter-5.6.3\
├── bin\ # 執行檔和腳本
├── lib\ # JAR 函式庫
├── docs\ # 文件
├── extras\ # 額外工具
└── printable_docs\
```
---
## 5. 設定 JMeter 環境變數(可選)
設定環境變數可以讓您在任何位置執行 JMeter 命令。
### 步驟 5.1:設定 JMETER_HOME
1. 開啟「**環境變數**」設定(參考步驟 2.1)
2. 在「**系統變數**」區域,點擊「**新增**」
3. 輸入:
- **變數名稱**:`JMETER_HOME`
- **變數值**:您的 JMeter 安裝路徑
範例:
```
C:\JMeter\apache-jmeter-5.6.3
```
4. 點擊「**確定**」
### 步驟 5.2:新增到 Path
1. 選擇「**Path**」變數,點擊「**編輯**」
2. 點擊「**新增**」
3. 輸入:
```
%JMETER_HOME%\bin
```
4. 點擊「**確定**」關閉所有視窗
### 步驟 5.3:驗證 JMeter 設定
**重新開啟命令提示字元**,輸入:
```cmd
jmeter --version
```
**預期輸出**(類似):
```
_ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____
/ \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \
/ _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |
/ ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <
/_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ 5.6.3
Copyright (c) 1999-2024 The Apache Software Foundation
```
---
## 6. 設定 JMeter 繁體中文界面
### 步驟 6.1:編輯 JMeter 設定檔
1. **開啟檔案總管**,前往 JMeter 的 `bin` 目錄:
```
C:\JMeter\apache-jmeter-5.6.3\bin\
```
2. **找到並開啟** `jmeter.properties` 檔案
- 使用「記事本」或其他文字編輯器開啟
3. **搜尋語言設定**
- 按 `Ctrl + F`,搜尋:`#language=en`
- 找到類似這行(前面有 `#` 符號):
```properties
#language=en
```
4. **修改為繁體中文**
- 刪除 `#` 符號(取消註解)
- 將 `en` 改為 `zh_TW`
- 修改後應為:
```properties
language=zh_TW
```
5. **儲存檔案**
- 按 `Ctrl + S` 儲存
- 關閉編輯器
### 步驟 6.2:(替代方法)使用專案配置
如果您使用本專案提供的測試計劃,可以直接使用專案的配置檔案:
1. 將本專案的 `configs/jmeter.properties` 複製到 JMeter 安裝目錄的 `bin` 資料夾
2. 覆蓋原有的設定檔(建議先備份)
---
## 7. 啟動 JMeter GUI
### 方法 1:透過批次檔啟動(推薦)
1. **開啟檔案總管**,前往:
```
C:\JMeter\apache-jmeter-5.6.3\bin\
```
2. **雙擊執行**:
```
jmeter.bat
```
3. **等待視窗開啟**
- 會先出現命令提示字元視窗(不要關閉)
- 稍後會開啟 JMeter GUI 視窗
### 方法 2:透過命令列啟動
1. **開啟命令提示字元**
2. **切換到 JMeter bin 目錄**:
```cmd
cd C:\JMeter\apache-jmeter-5.6.3\bin
```
3. **啟動 JMeter**:
```cmd
jmeter.bat
```
---
## 8. 載入測試計劃
### 方法 1:載入本專案的範例測試計劃
1. **在 JMeter GUI 中**,點擊選單:
```
檔案 → 開啟 (Ctrl+O)
```
2. **瀏覽到專案目錄**:
```
C:\path\to\Jmeter\test-plans\
```
3. **選擇**:
```
sample-test.jmx
```
4. **點擊「開啟」**
### 方法 2:建立新的測試計劃
如果您想從頭建立測試計劃:
1. **JMeter 啟動後會顯示空白測試計劃**
2. **右鍵點擊「測試計劃」**
3. **新增執行緒群組**:
```
新增 → Threads (Users) → 執行緒群組
```
4. **右鍵點擊「執行緒群組」**
5. **新增 HTTP 請求**:
```
新增 → 取樣器 → HTTP 請求
```
6. **設定 HTTP 請求**:
- **伺服器名稱或 IP**:`httpbin.org`
- **通訊協定**:`https`
- **方法**:`GET`
- **路徑**:`/get`
7. **新增監聽器查看結果**:
- 右鍵點擊「執行緒群組」
- 選擇:`新增 → 監聽器 → 檢視結果樹`
- 再新增:`新增 → 監聽器 → 彙整報告`
---
## 9. 執行測試
### 步驟 9.1:查看測試設定
**點擊左側的「執行緒群組」**,確認設定:
- **執行緒數目(使用者)**:`5`
- 模擬 5 個同時存取的使用者
- **Ramp-Up 期間(秒)**:`10`
- 在 10 秒內啟動所有使用者
- **迴圈次數**:`2`
- 每個使用者執行 2 次
- **總請求數**:`5 使用者 × 2 個請求 × 2 次循環 = 20 次請求`
### 步驟 9.2:清除之前的結果(如果有)
點擊工具列的圖示或選單:
```
執行 → 清除全部 (Ctrl+Shift+E)
```
### 步驟 9.3:開始執行測試
**方法 1:使用工具列按鈕**
- 點擊綠色的「**播放**」按鈕 ▶️
**方法 2:使用選單**
```
執行 → 啟動 (Ctrl+R)
```
### 步驟 9.4:觀察測試進度
- 右上角會顯示執行緒數量和狀態
- 看到數字變化表示測試正在執行
- 等待所有執行緒完成(數字歸零)
### 步驟 9.5:停止測試(如需要)
**立即停止**:
```
執行 → 停止 (Ctrl+.)
```
**等待當前請求完成後停止**:
```
執行 → 關機 (Ctrl+,)
```
---
## 10. 查看測試結果
### 10.1 查看結果樹(詳細資訊)
1. **點擊左側的「檢視結果樹」或「查看結果樹」**
2. **查看每個請求的詳細資訊**:
- **綠色圖示** = 請求成功
- **紅色圖示** = 請求失敗
3. **點擊任一請求**,可以查看:
- **取樣器結果**:回應時間、狀態碼、大小等
- **請求**:發送的請求內容
- **回應資料**:伺服器返回的內容
### 10.2 彙整報告(統計資料)
1. **點擊左側的「彙整報告」或「匯總報告」**
2. **查看統計資料**:
- **樣本數**:總請求次數
- **平均值**:平均回應時間(毫秒)
- **最小值**:最快的回應時間
- **最大值**:最慢的回應時間
- **標準差**:回應時間的變異程度
- **錯誤 %**:失敗請求的百分比
- **吞吐量**:每秒處理的請求數(Requests/sec)
- **接收 KB/sec**:每秒接收的資料量
- **發送 KB/sec**:每秒發送的資料量
### 10.3 查看結果表格
1. **點擊左側的「查看結果表格」**
2. **以表格形式查看所有請求**:
- 每一行代表一次請求
- 可以看到每個請求的詳細數據
### 10.4 儲存測試結果
**方法 1:儲存測試計劃(包含設定)**
```
檔案 → 儲存 (Ctrl+S)
```
**方法 2:匯出結果資料**
1. 在任一監聽器上點擊「瀏覽」按鈕
2. 選擇儲存位置和檔名(.jtl 格式)
3. 點擊「儲存」
---
## 11. 使用命令列模式執行測試
GUI 模式適合開發和除錯,但**正式效能測試應使用命令列模式**。
### 步驟 11.1:準備測試計劃
1. 在 GUI 模式下建立並測試您的測試計劃
2. 儲存為 `.jmx` 檔案
### 步驟 11.2:執行命令列測試
**開啟命令提示字元**,輸入:
```cmd
cd C:\JMeter\apache-jmeter-5.6.3\bin
jmeter -n -t "C:\path\to\test-plan.jmx" -l "C:\path\to\results.jtl" -e -o "C:\path\to\report"
```
**參數說明**:
- `-n`:非 GUI 模式
- `-t`:測試計劃檔案路徑
- `-l`:結果輸出檔案(.jtl)
- `-e`:測試結束後產生報告
- `-o`:HTML 報告輸出目錄
### 步驟 11.3:範例命令
使用本專案的測試計劃:
```cmd
cd C:\JMeter\apache-jmeter-5.6.3\bin
jmeter -n ^
-t "C:\Users\YourName\Desktop\Jmeter\test-plans\sample-test.jmx" ^
-l "C:\Users\YourName\Desktop\Jmeter\results\result.jtl" ^
-e ^
-o "C:\Users\YourName\Desktop\Jmeter\results\html-report"
```
**注意**:在 Windows 命令提示字元中,使用 `^` 符號換行
### 步驟 11.4:查看 HTML 報告
測試完成後:
1. **開啟檔案總管**,前往報告目錄:
```
C:\Users\YourName\Desktop\Jmeter\results\html-report\
```
2. **雙擊開啟**:
```
index.html
```
3. **在瀏覽器中查看詳細的效能測試報告**
---
## 12. 常見問題排除
### ❌ 問題 1:執行 `java -version` 提示「不是內部或外部命令」
**原因**:Java 未正確安裝或環境變數未設定
**解決方案**:
1. 確認 Java 已安裝
2. 重新設定 `JAVA_HOME` 和 `Path` 環境變數(參考步驟 2)
3. **重新開啟命令提示字元**
4. 再次測試
### ❌ 問題 2:JMeter 啟動失敗或閃退
**可能原因**:
- Java 版本過舊(需要 Java 8+)
- 記憶體不足
**解決方案**:
1. 確認 Java 版本:`java -version`
2. 增加 JMeter 記憶體:
- 編輯 `C:\JMeter\apache-jmeter-5.6.3\bin\jmeter.bat`
- 找到記憶體設定行(類似):
```batch
set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
```
- 增加記憶體(例如改為 2GB):
```batch
set HEAP=-Xms1g -Xmx2g -XX:MaxMetaspaceSize=256m
```
### ❌ 問題 3:JMeter 界面顯示亂碼或不是中文
**解決方案**:
1. 確認 `jmeter.properties` 中的語言設定:
```properties
language=zh_TW
```
2. 重新啟動 JMeter
3. 或在啟動時指定語言:
```cmd
jmeter.bat -Duser.language=zh -Duser.region=TW
```
### ❌ 問題 4:測試執行時出現「Connection refused」錯誤
**原因**:無法連線到目標伺服器
**檢查項目**:
1. 目標伺服器網址是否正確
2. 網路連線是否正常
3. 防火牆是否阻擋連線
4. 目標伺服器是否正在運行
### ❌ 問題 5:命令列模式報告產生失敗
**常見錯誤**:
```
An error occurred: Error generating the report: C:\path\to\report(The directory is not empty)
```
**解決方案**:
- 報告輸出目錄必須是**空的**或**不存在的**
- 刪除舊的報告目錄或使用新的目錄名稱
- 使用時間戳記建立唯一目錄名稱:
```cmd
set TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set REPORT_DIR=C:\path\to\report_%TIMESTAMP%
```
### ❌ 問題 6:測試結果中出現大量錯誤
**檢查項目**:
1. 查看「檢視結果樹」中的錯誤訊息
2. 確認 HTTP 請求設定(網址、路徑、參數)
3. 檢查是否需要身份驗證
4. 確認 Header 設定是否正確
5. 降低並發使用者數量進行測試
---
## 📚 補充資源
### Windows 批次檔範例
建立 `run-jmeter-gui.bat`:
```batch
@echo off
echo 啟動 JMeter GUI 模式...
cd /d C:\JMeter\apache-jmeter-5.6.3\bin
jmeter.bat -t "C:\Users\YourName\Desktop\Jmeter\test-plans\sample-test.jmx"
```
建立 `run-jmeter-test.bat`:
```batch
@echo off
setlocal
echo ========================================
echo JMeter 效能測試執行
echo ========================================
echo.
set JMETER_HOME=C:\JMeter\apache-jmeter-5.6.3
set TEST_PLAN=C:\Users\YourName\Desktop\Jmeter\test-plans\sample-test.jmx
set RESULTS_DIR=C:\Users\YourName\Desktop\Jmeter\results
REM 產生時間戳記
set TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set TIMESTAMP=%TIMESTAMP: =0%
set RESULT_FILE=%RESULTS_DIR%\result_%TIMESTAMP%.jtl
set REPORT_DIR=%RESULTS_DIR%\html-report_%TIMESTAMP%
echo 測試計劃: %TEST_PLAN%
echo 結果檔案: %RESULT_FILE%
echo 報告目錄: %REPORT_DIR%
echo.
echo 開始執行測試...
cd /d %JMETER_HOME%\bin
jmeter.bat -n -t "%TEST_PLAN%" -l "%RESULT_FILE%" -e -o "%REPORT_DIR%"
if %ERRORLEVEL% EQU 0 (
echo.
echo ========================================
echo 測試執行完成!
echo ========================================
echo.
echo 開啟 HTML 報告...
start "" "%REPORT_DIR%\index.html"
) else (
echo.
echo ========================================
echo 測試執行失敗!
echo ========================================
)
pause
```
### 記憶體調整建議
根據測試規模調整 JMeter 記憶體:
| 測試規模 | 建議記憶體設定 |
|---------|--------------|
| 小型(< 100 執行緒) | `-Xms512m -Xmx1g` |
| 中型(100-500 執行緒) | `-Xms1g -Xmx2g` |
| 大型(500-1000 執行緒) | `-Xms2g -Xmx4g` |
| 超大型(> 1000 執行緒) | `-Xms4g -Xmx8g` |
### 效能測試最佳實踐
1. ✅ **在 GUI 模式開發和除錯測試計劃**
2. ✅ **在命令列模式執行正式效能測試**
3. ✅ **關閉不必要的監聽器(命令列模式)**
4. ✅ **使用 CSV 資料集模擬真實使用者行為**
5. ✅ **分階段增加負載,觀察系統表現**
6. ✅ **監控目標伺服器的資源使用狀況**
7. ❌ **不要在生產環境直接執行大規模測試**
8. ❌ **不要在 GUI 模式執行大量負載測試**
---
## 🎯 快速開始檢查清單
- [ ] 1. 安裝 Java JDK
- [ ] 2. 設定 JAVA_HOME 環境變數
- [ ] 3. 設定 Path 環境變數(加入 %JAVA_HOME%\bin)
- [ ] 4. 驗證 Java 安裝(java -version)
- [ ] 5. 下載 JMeter ZIP 檔案
- [ ] 6. 解壓縮 JMeter 到指定目錄
- [ ] 7. (可選)設定 JMETER_HOME 環境變數
- [ ] 8. 設定 JMeter 繁體中文界面(編輯 jmeter.properties)
- [ ] 9. 啟動 JMeter GUI(執行 jmeter.bat)
- [ ] 10. 載入或建立測試計劃
- [ ] 11. 執行測試並查看結果
- [ ] 12. 學習使用命令列模式執行測試
---
## 📖 延伸學習資源
- [JMeter 官方文件(英文)](https://jmeter.apache.org/usermanual/index.html)
- [JMeter 最佳實踐](https://jmeter.apache.org/usermanual/best-practices.html)
- [JMeter 元件參考](https://jmeter.apache.org/usermanual/component_reference.html)
- [本專案 README](../README.md)
- [快速開始指南](../QUICKSTART.md)
- [語言設定說明](語言設定.md)
---
## 📝 結語
恭喜您完成 Windows 環境下的 JMeter 安裝和設定!
現在您可以:
- ✅ 使用 GUI 模式開發和除錯測試計劃
- ✅ 使用命令列模式執行正式效能測試
- ✅ 產生專業的 HTML 測試報告
- ✅ 開始進行 API、網站的效能測試
祝您測試順利!🚀