AS400 / IBM i で「画面が遅い」「夜間バッチが終わらない」「特定メニューだけ重い」と言われた時、すぐにサーバー性能不足と決めつけるのは危険です。CPU、ディスク、ジョブ待ち、レコードロック、SQL、ネットワーク、業務データ量のどこが原因かを分ける必要があります。
遅い時の初動確認
| 確認 | 見るもの | 判断 |
|---|---|---|
| 全体負荷 | WRKACTJOB、CPU、補助記憶域 | 全体が重いか、一部だけか |
| ジョブ状態 | 実行中、待機、MSGW、LCKW | 処理中か、待たされているか |
| ロック | 対象ファイル、更新ユーザー、待ちジョブ | 特定処理が止めていないか |
| SQL | 長時間SQL、索引、抽出条件 | データ量増加で遅くなっていないか |
| 時間帯 | 夜間バッチ、締め処理、外部連携 | 負荷が重なる設計になっていないか |
全体が遅いか、特定業務だけか
まず全員が遅いのか、特定のメニューだけ遅いのかを分けます。全員ならシステム全体の負荷や通信を疑います。特定業務だけなら、該当プログラム、SQL、ファイルロック、締め処理、データ量の増加を見ます。
ロック待ちは障害に見えにくい
レコードロックやオブジェクトロックは、画面上では「遅い」「固まった」に見えることがあります。ジョブ状態がLCKWに寄っている場合は、待っているジョブだけでなく、ロックを保持しているジョブも確認します。強制終了する前に、業務影響と後続処理を確認します。
夜間バッチの観点は AS400夜間バッチ障害対応フロー、SQLやDB2 for i の確認は SQL7008とDB2 for iの確認 も参考になります。本番影響がある場合は 本番障害の初動チェック に戻します。
Codexで調査メモを整理する
Codexには、匿名化したジョブ状態、発生時間、対象メニュー、エラー文、確認済み項目を渡すと、次に見る観点を整理しやすくなります。ただし、実ジョブの終了や本番反映の判断は人が行う必要があります。
関連: AS400運用・保守の実務対策として、AS400ジョブスケジュール運用チェックリスト|夜間バッチ・SBMJOB・JOBQを整理する も追加しました。
関連: AS400現場トラブルの網羅性を高めるため、AS400オブジェクトロック・ファイル使用中の調べ方|WRKOBJLCKで止まる原因を見る も追加しました。
