Lambdaのコールドスタートを早くしたい
目的
個人的に使っている Serverless Framework での API Gateway + Lambda で、コールドスタートからの立ち上げ早くしたかった。
構成
express を使っているけど、API Gateway + Lambda のシンプルな構成
方法
Lambda のパッケージがかなり大きかった(42M。ギリギリだな・・・)ので、これを削減してみた。
具体的にやったことは以下2つ
webpack でバンドルして node_modules もパッケージから除去
バンドルサイズで 7.2M。minify してもまあまあの容量になるな。
結果的に、Zip 化された Lamda のパッケージサイズは劇的に減らせた
Before: 42M
After: 1.55M
計測
処理が殆どないシンプルなAPIで計測すると、1秒以上削減できた。
Before: 3.04s
After: 1.79s
結論
パッケージサイズも、コールドスタートの起動時間にそこそこ影響が出るってことが分かった。