① アクセスログ(Access Log)— Web サーバー

アクセスログはユーザーからのリクエストを時系列で記録したファイルです。いつ・どの URL に・何秒かかったかが確認でき、性能評価の「起点」となる最重要データです。

主要フィールド

フィールド 内容
日時 リクエスト発生日時
クライアント IP アクセス元 IP アドレス
ステータスコード 200=正常、5xx=エラー
処理時間(秒) 最重要!遅延の検出に使用

チェックポイント

  • ⚠ レスポンスタイム 3 秒以上のリクエスト数
  • ⚠ エラー率(5xx の割合)1% 以上
  • ⚠ リクエストが集中している時間帯・URL

コマンド例(Apache / Nginx)

# ログをコピーして保管
sudo cp /var/log/httpd/access_log \
  ./perf_data/access_$(date +%H%M).txt

# 処理時間フォーマット確認
head -3 /var/log/httpd/access_log

② mpstat — CPU 使用状況(全サーバー)

CPU が何の処理に使われているかをコア単位・カテゴリ別に % で表示します。全サーバーで取得します。

コマンド

mpstat -P ALL 5 12
# -P ALL : 全コアを表示
# 5      : 5秒間隔
# 12     : 12回繰り返し(合計1分)

主要フィールドと判断基準

フィールド 意味 注目ポイント
%usr ユーザー空間での CPU 使用率 アプリ処理量の指標
%sys カーネル空間での CPU 使用率 高い場合はシステムコール多発を疑う
%iowait I/O 完了待ち時間の割合 10% 超えたら要注意(DB サーバー)
%idle CPU の空き時間 20% 未満が続く場合は CPU 飽和の恐れ

③ free — メモリ使用状況(全サーバー)

メモリ(RAM)とスワップ領域の使用状況を表示します。メモリ不足はシステム全体の急激な性能低下を招きます。

コマンド

free -m
# -m : メガバイト単位で表示

# 5秒間隔で繰り返す場合
while true; do
  echo "--- $(date +%H:%M:%S) ---"
  free -m
  sleep 5
done >> free.txt

⚠ 見方の3つのポイント

1. 「free」列だけで判断しない

OS のバッファ・キャッシュ領域は随時解放されるため、「free」が少なくても問題ない場合がある。

2. 「available」列を重視する

新プロセスが使える実質的な空きメモリ。総量の 10% 未満が続く場合は要注意

3. スワップが増加したら危険信号

スワップ I/O(si/so)が発生すると CPU に関係なく全体が急激に遅くなる。

④ iostat — ディスク I/O 状況(特に DB サーバー)

ディスクの読み書き性能を計測します。DB サーバーの I/O 性能はシステム全体に直結するため、最も重要なメトリクスのひとつです。

コマンド

iostat -xz 5 12
# -x : 拡張統計(%util, await など)を表示
# -z : アイドル状態のデバイスを除外
# 5  : 5秒間隔
# 12 : 12回繰り返し(合計1分)

主要フィールドと判断基準

フィールド 意味 しきい値目安
%util ディスクの使用率 70% 超で要注意、90% 超で危険
await I/O リクエストの平均待機時間(ms) HDD: 20ms 超、SSD: 5ms 超で要注意
r/s, w/s 1 秒あたりの読み書き回数(IOPS) デバイス仕様と比較して評価
rkB/s, wkB/s 1 秒あたりの読み書き量(KB) スループット上限と比較して評価

⑤ vmstat — システム全体の統合状況(全サーバー)

プロセス・メモリ・スワップ・I/O・CPU の状態をまとめて 1 行表示します。システム全体の「健康状態」を素早く確認するのに最適です。

コマンド

vmstat 5 12
# 5  : 5秒間隔
# 12 : 12回繰り返し(合計1分)

出力例と各フィールドの意味

 procs  --------memory-------  --swap-- ---io--- --cpu---
  r  b    swpd   free   cache    si   so    bi   bo  wa us sy  id
フィールド 意味 注目基準
r 実行待ちプロセス数 CPU コア数を超えると CPU 飽和
b I/O 待ちでブロックされたプロセス数 0 でない場合はディスクを確認
si / so スワップ IN / OUT(KB/s) 0 以外は危険信号
wa I/O 待ち CPU 時間の割合 10% 超で I/O ボトルネックを疑う
⚠ vmstat の最初の行はシステム起動からの累計値です。2 行目以降を分析対象にしてください。

ツール選択の早見表

何を調べたいか 使うツール 対象サーバー
遅いリクエスト・エラー率 アクセスログ Web
CPU の詳細(コア別・カテゴリ別) mpstat 全サーバー
メモリ・スワップの状況 free 全サーバー
ディスク I/O の詳細 iostat 特に DB サーバー
システム全体の健康状態(俯瞰) vmstat 全サーバー