リクエストを処理するために新たなコンテナを作成し、処理終了後にはそのコンテナを停止します。これをリクエストのたびに繰り返します。
コンテナの作成処理は非常に時間が掛かるため、レスポンス時間がとても長くなってしまいます。また、コンテナの作成処理や終了処理に CPU などのリソースを使うため、無駄なリソースが消費されます。
Hot Function という機能を使うことで、一定期間コンテナを再利用します。これにより、一定期間の間に同一のファンクションへリクエストがあると、前回と同じコンテナがリクエストを処理します。これにより、コンテナの作成処理や停止処理の回数が減少するため、レスポンス時間の短縮や、無駄なリソースの消費を抑えられます。
私の環境では、ノートパソコン上に VirtualBox で Linux として Docker Host を実行しています。その環境下でも、Hot Function を使わない場合はレスポンス時間が 2000~3000ms 程度かかりましたが、Hot Function を使うと 40~50ms になりました。
続きを読む