質問
⚠️ この事例は公開されてから1年以上経過しています。 情報が古い可能性がありますので、ご注意ください。
🕓 事例公開日 : 2025-03-14
【背景】
外部公開本番環境において、4月9日にDBサーバのCPU使用率が99%を超える障害が2回発生した。どの画面アクセスが原因かを特定したい。1. 事象
障害発生時間:
1回目
・障害検知日時:2024-04-09 10:17:25
・復旧検知日時:2024-04-09 10:43:25
2回目
・障害検知日時:2024-04-09 14:01:25
・復旧検知日時:2024-04-09 15:04:25
症状の説明:
データベースサーバのCPU使用率が99%を超過し、システムパフォーマンスが著しく低下した。2. 発生条件
・外部公開本番環境・4月9日の午前10時台と午後14時台に発生
・各回とも約26分〜1時間程度継続
回答
1. 原因
技術的な原因:
ViewCreator画面でのSQL実行により、データベースサーバのCPU使用率が99%を超過しました。技術的要因の分析:
・ViewCreator画面でのリクエスト処理 → 10分以上の長時間処理が発生・特定SQLクエリの実行 → データベースCPU使用率の急激な増加
・10時台に6件、14時台に12件の長時間処理 → システム全体のパフォーマンス低下
・複数の重いクエリの同時実行 → リソース競合による処理遅延の拡大
根本的な要因:
ViewCreator機能で実行されるSQLクエリが、データベースリソースを大量消費する処理となっていたことが根本原因です。2. 対応方法
根本解決方法:
1. ViewCreator画面で使用するデータ抽出条件を見直し、処理負荷を軽減する2. 必要に応じてインデックスの追加やクエリの分割を検討する
暫定対処方法:
ViewCreator画面での大量データ処理を避け、処理時間の短い条件での実行に制限する3. 原因究明に至るまでの調査方法
1. 該当時間帯のリクエストログを分析し、処理時間の長いリクエストを特定2. ViewCreator画面でのPOSTリクエストが10分以上かかっていることを確認
3. Amazon RDS Performance Insightsで該当時間帯のCPU使用率増加を確認
4. Performance Insightsから特定SQLクエリがCPU使用率増加の原因であることを特定
5. SQLクエリの詳細情報を抽出し、問題となった処理を分析