Open3
Lambdaチューニング
不要なコードを削除(zipサイズで378.4kBから2.3kBに縮小):コールドスタート400~500msでほぼ変わらず。下記記事を見るとこれ以上は無理かな。ただ、不要なコードが存在する理由はないのでこのまま。
共通処理をLayersに移動(zipサイズで2.3kBから1.0kBに縮小):コールドスタート400~500msでほぼ変わらず。これは逆に遅くなることを懸念していたために良かった。
下記を理解できていなかったので、手こずる。
作成したLayerは、Lambdaの実行環境の/optディレクトリに展開されます。
/optディレクトリ以下に、ランタイムの言語ごとのディレクトリが構成されているので、ランタイムに合わせてLayerを構築する必要があります。
Pythonを例にとると、Lambdaの実行環境は/opt/python/とディレクトリが構成されているため、作成するLayerは展開される構成が/opt/python/"作成したLayer"となる必要があります。
pythonの場合、python/{作成したLayer}のpythonからzipにしてアップロードする必要あり。後、Layerに限った話ではないが、Layerの名前(importする名前)はpythonの命名規則に則る必要あり(例:"-"(ハイフン)が名前に入っているとSyntaxError: invalid syntaxになる)。
他の言語については下記参照。