負荷テストは「一度動かして終わり」では意味がなく、CI/CDに組み込んで継続的に計測してこそ効果が出ます。シリーズ本編では駆け足になった分散テストやGrafana連携にも、このまとめ回であえて踏み込みました。
シリーズ総復習
図1: JMeterシリーズ総復習 — インストールから分析まで6ステップとCI/CD統合
8回にわたったシリーズの要点を振り返ります。
-Xms / -Xmx)のカスタマイズも行った。-n -t -l -e -o オプションで CLIから JTL 保存 + HTML レポート生成。実行前チェックリストの重要性を確認した。実践でのベストプラクティス
| カテゴリ | ベストプラクティス |
|---|---|
| シナリオ設計 | 本番トラフィックのアクセスログを参考に、URL の比率・ランプアップ期間・Think Time を現実的な値に設定する |
| テスト実行 | 本番負荷テストは必ず CLI モードで実施。View Results Tree は無効化してから実行する |
| 結果管理 | JTL ファイルを日付付きのディレクトリに保存し、改善前後の比較ができるようにする |
| 繰り返し実行 | テストは同じ条件で最低3回実行して平均を取る。1回の結果だけで判断しない |
| テスト計画 | 目標値(SLA)をあらかじめ設定してから実施する。「何を持って合格とするか」を明確にする |
| バージョン管理 | .jmx ファイルと CSV データを Git で管理する。チームで同じシナリオを共有・再現できるようにする |
発展トピック
基本を習得したら、次のトピックを学ぶことでより高度な負荷テストが実施できるようになります。
分散テストの概要
1台の JMeter で生成できる負荷には限界があります(概ね 500〜1000 スレッド程度)。 それ以上の負荷が必要な場合は分散テストを利用します。
分散テストのアーキテクチャ:
- Controller(マスター): テストプランを配布し、リモートサーバーを制御するマシン
- Remote Server(スレーブ): 実際に負荷を発生させる JMeter エージェントを起動するマシン
# jmeter.properties の remote_hosts に Slave の IP を指定
remote_hosts=192.168.1.10,192.168.1.11,192.168.1.12
# 全リモートサーバーを使って実行
jmeter -n -t test-plan.jmx -r -l results/result.jtl -e -o results/report/
CI/CDへの統合
GitHub Actions でのパフォーマンステスト自動化の例を紹介します。
name: Performance Test
on:
push:
branches: [main]
jobs:
jmeter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Download JMeter
run: |
wget https://downloads.apache.org/jmeter/binaries/apache-jmeter-5.6.3.tgz
tar -xzf apache-jmeter-5.6.3.tgz
- name: Run JMeter Test
run: |
mkdir -p results/report
apache-jmeter-5.6.3/bin/jmeter \
-n -t tests/load-test.jmx \
-l results/result.jtl \
-e -o results/report/
- name: Upload Report
uses: actions/upload-artifact@v4
with:
name: jmeter-report
path: results/report/
✅ 閾値による自動的なテスト失敗
JMeter のプロパティ jmeter.reportgenerator.apdex_satisfied_threshold や Automation Plugin を使って、APDEX スコアやエラー率が閾値を超えた場合にパイプラインを失敗させることができます。これにより「パフォーマンスが劣化したままデプロイされる」リスクを防止できます。
参考リソース
JMeter をさらに深く学ぶための公式リソースを紹介します。
| リソース | URL | 内容 |
|---|---|---|
| Apache JMeter 公式ドキュメント | jmeter.apache.org/usermanual | 全機能のリファレンス。日本語訳はないが英語でも比較的読みやすい |
| JMeter Plugins Manager | jmeter-plugins.org | 追加プラグインの一覧・インストール方法 |
| JMeter Academy(Blazemeter) | blazemeter.com/jmeter | ユースケース別チュートリアル・クラウド実行サービス |
💡 シリーズ完了おめでとうございます
全8回のシリーズを通じて、JMeter の概念・環境構築・GUI操作・テストシナリオ作成・リスナー設定・CLI実行・結果分析まで、負荷テストの基礎を習得しました。 次は実際のプロジェクトに適用し、さらに分散テストや CI/CD 統合などの発展トピックに挑戦してみてください。