負荷・性能テスト結果の可視化
アプリケーション開発が完了段階に近づくと、目標性能を実際 に出せるかを負荷・性能テストで検証します。多くのテストツール(JMeter、LoadRunnerなど)はシナリオ別の集計統計を提供しますが、「どのトランザクションのどの区間がボトルネックか」をサービス視点で把握するのは困難です。WhaTap Monitoringを併用すると、テスト結果をサービス・トランザクション視点でリアルタイム可視化し、ボトルネック箇所・エラー原因を正確に追跡できます。
負荷・性能テストの4つのタイプ
表 | 負荷・性能テスト4つのタイプ
| タイプ | 目的 |
|---|---|
| 負荷テスト (Load) | 想定最大トラフィック時の性能・安定性確認 |
| ストレステスト (Stress) | 限界点・回復動作・破損しきい値の確認 |
| スパイクテスト (Spike) | 急激なトラフィック増減時の反応確認 |
| 耐久性テスト (Endurance) | 長時間持続負荷でのリーク・累積問題の確認 |
主な計測指標
- 応答時間 (Response Time) — 平均、p95、p99
- スループット (TPS, Transactions per Second)
- エラー率 (Error Rate)
ツールのレポートだけでは**「なぜこのシナリオの平均応答時間が跳ねたのか」**を見つけるのは困難です。個別トランザクションレベルの追跡が必要です。
WhaTapと併用する方法
① テストツールで負荷を実行
JMeter、LoadRunner、k6、Locustなどチームが使うツールでシナリオを実行します。テストツールは負荷生成・集計統計を担当します。
② WhaTapでサービス視点の可視化
テスト対象のアプリケーションにWhaTapエージェントがインストールされていれば、テスト中に発生したトランザクションがリアルタイムで収集されます。
利用メニュー:
- アプリケーションダッシュボード — TPS、応答時間 、エラー率の推移をサービス全体の視点で確認
- ヒットマップ・トランザクション — 時間帯別のトランザクション応答分布、異常点の集まりを即座に識別
- トランザクショントレース — 遅いトランザクション1件の呼び出しスタック、SQL・HTTP・外部呼び出しの時間
- DB接続状態・Slow SQL — DB側のボトルネックを交差確認
- ヒープメモリ・アクティブスタック — GC・メモリ・スレッドのボトルネック確認
③ 原因把握 → テスト再実行 → 比較
改善前後のヒットマップパターン、トランザクショントレース、ダッシュボード数値を同じ期間範囲で比較し、チューニング効果を定量的に確認します。
活用シナリオ
リリース前の負荷テスト
- テストツールで想定ピークトラフィックを再現してください。
- WhaTapダッシュボードでTPS・応答・エラー率をリアルタイムで追跡してください。
- エラースパイクや応答急増時は、トランザクショントレースで原因を即座に分析してください。
- 結果をリリース検証シナリオのベースライン記録として活用してください。
性能リグレッション検出
- 前バージョンと同じ負荷条件でテストを実行してください。
- 主要指標(TPS、p95、エラー率)の変化を定量的に比較してください。
- リグレッション発見時はトランザクショントレースで遅くなった区間を特定してください。
ボトルネック特定・チューニングループ
- ヒットマップで異常点の集まりを見つけ、トレースで原因を把握した上で、コード・SQL・インデックスを修正し、再テストで比較します。
- 改善サイクルを直感ではなく計測ベースで実行します。
次のステップ
- ヒットマップ・トレースを深堀り → ヒットマップ・トランザクションを見る
- DB側ボトルネックの確認 → DB接続遅延とコネクションプール、データベースのリアルタイム監視
- メモリ・GC分析 → ヒープメモリのアラート
- テスト結果をリリース判断基準に → リリース検証シナリオ