AWS Lambda Power Tuning
AWS Lambda のメモリ、タイムアウトを設定する際に最適な値として何を設定すべきか、迷ったことはないでしょうか。
そのような悩みは、AWS Lambda Power Tuning を使用することで解決できます。
AWS Lambda Power Tuning は、AWS Step Functions を使用して実行されるオープンソースのソリューションです。
異なるメモリ設定で AWS Lambda 関数を実行し、そのパフォーマンスとコストを比較することで、最適なメモリ設定を見つけ出すことができます。
使い方
1. デプロイする
このページからデプロイができます。
2. デプロイされた AWS Step Functions を実行する
デプロイされたリソースに AWS Step Functions があり、実行します。
Inputに以下のような内容を入力します。
"powerValues"の部分に確認したいメモリを設定します。
{
"lambdaARN": "your-lambda-function-arn",
"powerValues": [128, 256, 512, 1024, 1536, 2048, 3008],
"num": 50,
"payload": {},
"parallelInvocation": true,
"strategy": "cost",
"allowedExceptions": ["HandledError"]
}
3. AWS Step Functions の Output に表示される URL を開く
実行が成功すると、出力結果にURLが出力されます。
URLを開くと画像のような結果を参照できます。
例): AWS Lambda Power Tuning 実行結果の画像
赤線が AWS Lambda の実行時間、青線がコストとなっています。
この情報を参考に、メモリとタイムアウトを設定することで、AWS Lambda を最適なパフォーマンスで動作させることが可能となります。
AWS Lambda Power Tuning を試してみて、AWS Lambda 関数の最適化を行ってみてください。

