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

あるLambda関数が大量の数学的計算処理を実行しており、現在の実行時間が平均15秒かかっています。開発者はコードを変更することなく、Lambda関数の処理完了時間を短縮しパフォーマンスを向上させたいと考えています。最も効果的な対策はどれですか。

A
Lambda関数のタイムアウト設定をデフォルトの3秒から最大値である15分(900秒)に拡大する。
タイムアウト設定を延長することで関数の途中終了を防ぐことはできますが、計算処理自体の実行スピードを短縮させる効果はありません。
B
Lambda関数のメモリ割り当て量を増やすことで、比例して割り当てられるCPU能力と計算資源を強化する。
✓ 正解
Lambdaでは割り当てるメモリ容量を増大させることで比例してCPUコア数や処理能力が強化されるため、重い計算処理の実行時間を直接的に短縮できます。
C
Lambda関数のプロビジョンドコンカレンシーを有効化して、コールドスタートによるオーバーヘッドを排除する。
プロビジョンドコンカレンシーは初期起動(コールドスタート)の遅延を解消しますが、起動完了後に実行される本処理の計算速度自体を上げる効果はありません。
D
Lambda関数の実行環境をマルチAZ構成に変更して、並列処理のスループットを物理的に向上させる。
Lambda関数の実行環境においてユーザーがマルチAZ構成などの物理的配置を明示的に指定して処理能力を増大させる設定は存在しません。

解説

AWS Lambdaでは、割り当てるメモリ量に比例してCPUパワー、ネットワーク帯域、I/Oが直線的にスケールします。メモリを増やすことで利用可能なCPUパフォーマンスが向上するため、CPU負荷の高い計算処理の実行時間を大幅に短縮できます。タイムアウト設定の変更は強制終了を防ぐだけで速度向上には寄与しません。プロビジョンドコンカレンシーはコールドスタート(初期化時間)の削減に効果がありますが、実行中の計算処理時間自体を短縮するものではありません。

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

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

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