性能評価の目的

Webシステムの性能評価とは、システムが「どのくらいの負荷まで安定して動作するか」「ボトルネックはどこにあるか」を定量的に把握することです。定性的な感覚や経験則ではなく、データに基づいた判断を行うことが重要です。

主な目的は次の3点です。

  • 本番リリース前の性能要件への適合確認
  • 障害・性能劣化が発生した際の原因調査
  • キャパシティプランニング(将来のリソース見積もり)

3ステップアプローチ

性能評価は次の3段階で進めます。「まず全体を見てから詳細を掘り下げる」トップダウン分析が基本の流れです。

STEP 1 — データ収集

  • 各サーバーに SSH 接続
  • mpstat / free / iostat / vmstat を同時実行
  • アクセスログを保存

STEP 2 — データ分析

  • 各メトリクスをしきい値と比較
  • 時系列で傾向を把握
  • 問題が起きた時刻を特定

STEP 3 — ボトルネック特定

  • 問題のあるサーバーを絞り込む
  • 原因リソースを特定する
  • 改善策を立案・実施
まず全体から異常を探し、次に詳細を掘り下げる「トップダウン分析」が基本です。

対象サーバーの役割と注目ポイント

一般的な Web システムは Web サーバー → APL サーバー → DB サーバー の3層構成です。それぞれ役割が異なるため、注目すべきメトリクスも異なります。

WEB — Web サーバー

項目 内容
主な役割 HTTP リクエストの受付・SSL 終端、静的コンテンツの配信、APL サーバーへのプロキシ
注目ポイント 同時接続数・レスポンスタイム、ネットワーク帯域、CPU 使用率

APL — APL サーバー

項目 内容
主な役割 ビジネスロジックの処理、DB へのクエリ発行、動的コンテンツ生成
注目ポイント CPU 使用率・メモリ使用量、処理スレッド数、GC(ガベージコレクション)頻度

DB — DB サーバー

項目 内容
主な役割 データの永続化・検索、SQL クエリの実行、キャッシュ管理
注目ポイント ディスク I/O(最重要)、メモリ(バッファプール)、CPU・ロック競合

トップダウン分析の考え方

性能問題を調査する際は「症状 → サーバー → リソース」の順に絞り込みます。最初から特定のリソースを深掘りすると、根本原因を見逃しやすくなります。

  1. アクセスログで「いつ・どの URL が遅いか」を確認する(出発点)
  2. vmstat でシステム全体を俯瞰し、問題のある層を絞り込む
  3. 絞り込んだ層の詳細ツール(mpstat / iostat / free)で原因リソースを特定する
全体から細部へ。この順序を守ることで調査の迷走を防げます。