typescript + lambda のInit Durationを縮める5つの技
これで、Init Duration 1,800msから60msまで縮めることに成功しました。
1 webpack入れる
まずは。
serverelss frameworkでtypescriptを生成すると、デフォで設定されるけど。
2 パッケージファイルサイズを減らす
webpack-bundle-analyzerを入れて分析します
import AWS from "aws-sdk";
import uniq from "lodash/uniq";
↑のように書くとパッケージがめちゃデカくなるので、↓みたいにします。
import S3 from "aws-sdk/clients/s3";
import uniq from "lodash/uniq";
3 source-mapを無効にする
これだけで、起動速度半分くらいになった。
4 遅延ロードする
一部のパターンでしから使わないライブラリは、使用するときにロードする。
ホンノチョットハヤクナル
5 メモリ増やす
メモリ増やす、CPU増える、早くなる
ある程度増やすと変わらなくなるので、適度に設定して様子を見る
6 go言語で書き直す
これは効く。