Lambda関数のタイムアウトは10秒である。毎分十分な呼び出しがあり、平均Durationが低い一方で遅い実行が増えている。
各1分間のコード処理時間の95パーセンタイルが8秒を超える傾向を警告したい。タイムアウトなどの失敗はErrorsやログで別に監視する。
この処理時間の警告に最も適切なメトリクスと統計はどれか。
Durationのp95を8,000 msと比較し、Averageや実際の失敗の監視と区別する。
詳細解説
Durationはコード処理時間をミリ秒で示し、p95は95パーセンタイルの傾向を観測する。
呼び出し回数とミリ秒を混同しており、処理時間の統計を評価しない。
平均は遅い実行の増加を隠す場合があり、指定された95パーセンタイルではない。
発生済み失敗の検知は必要だが、成功した遅い実行も含むp95の時間警告を代替しない。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
公式資料のDurationの単位、cold startの除外、p95の範囲、タイムアウト設定を確認する。
参考にした公式資料
確認できる内容
8秒を8,000 msへ換算し、p95が最も遅い5%や利用者の全応答時間を直接示すわけではないと説明できる。
理解のポイント
- Duration
- p95
- タイムアウト
確認時の注意
- 確認環境: AWS公式SOA-C03試験ガイドとAWS公式ドキュメントの確認
- AWS公式SOA-C03試験ガイドと各サービスの公式ドキュメントを確認する。
基礎のおさらい
分位値と最も遅い実行を分ける
p95は観測値の95パーセンタイルで、残る遅い側の5%の最大時間は示さない。p95が8秒未満でも一部の実行はタイムアウトし得る。必要に応じてp99やMaximum、Errorsとログも確認し、1分期間と関数・バージョン・エイリアスの範囲をそろえる。
コードの処理時間と全体の待ち時間を分ける
Durationはイベントを処理するコードの時間をミリ秒で示し、cold start時間は含まない。利用者の応答には初期化や他サービスの待ち時間も関係するため、Durationだけでエンドツーエンドの遅延を保証しない。ログや計装済みトレースで遅い区間を確認する。