DVAトラブルシューティングと最適化

本番環境のLambda関数がAPI Gatewayのバックエンドとして動作しています。ユーザーから「業務時間外の長い非アクティブ期間後、最初のリクエストだけ3〜5秒の遅延が発生する」との報告があります。その後のリクエストは100ms以下で応答します。この問題を根本的に解決するための最も効果的な方法はどれですか?

A
Lambda関数のメモリ割り当てを3008MBに増加する
メモリを3008MBに増やすと処理速度は向上しますが、初期化処理自体はなくならないためコールドスタート問題の根本解決にはなりません。
B
プロビジョニングされた同時実行数(Provisioned Concurrency)を設定する
✓ 正解
非アクティブ後の最初のリクエストで3~5秒かかる現象はコールドスタートです。Provisioned Concurrencyを設定すると、Lambda実行環境が事前に初期化・ウォームアップされた状態で維持されるため、コールドスタートが発生しません。
C
5分ごとにAmazon EventBridgeルールで関数を呼び出してウォームアップする
Amazon EventBridgeによる定期ウォームアップは公式なソリューションではなく、実行環境が入れ替わるタイミングによってはコールドスタートが依然発生する可能性があります。
D
Lambda関数のタイムアウト値を30秒に増加する
タイムアウト値はリクエストの最大処理時間を設定するものであり、コールドスタートの発生防止とは無関係です。

解説

非アクティブ後の最初のリクエストで3~5秒かかる現象はコールドスタートです。Provisioned Concurrencyを設定すると、Lambda実行環境が事前に初期化・ウォームアップされた状態で維持されるため、コールドスタートが発生しません。 選択肢Aのメモリを3008MBに増やすと処理速度は向上しますが、初期化処理自体はなくならないためコールドスタート問題の根本解決にはなりません。 選択肢CのAmazon EventBridgeによる定期ウォームアップは公式なソリューションではなく、実行環境が入れ替わるタイミングによってはコールドスタートが依然発生する可能性があります。 選択肢Dのタイムアウト値はリクエストの最大処理時間を設定するものであり、コールドスタートの発生防止とは無関係です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
DVA の問題一覧に戻る