LoginSignup
3
0

More than 5 years have passed since last update.

AWS Lambdaの実行コンテナが使いまわしされる&スケールアウトするところの確認

Posted at

AWS Lambdaがスケールアウトしているところの確認

環境

下記の Lambda を API Gateway からの呼び出し先に指定してある。

  • 実行されると /tmp 配下にランダムなファイル名のファイルを生成する Lambda を作成する

目的

  • 同じLambdaを実行している間、Lambdaを実行しているコンテナが使いまわされていること
  • 同時アクセス数が増えたりした場合、Lambdaを実行している環境がスケールアウトされていくこと

を確認する。

具体的には下記で確認。

  • 同じコンテナが使いまわされている場合は、/tmp にファイルが増えていく。
  • スケールアウトされた場合、 その時の /tmp 配下は1つしかファイルがない状態になる。

やってみる

1つのURLをシーケンシャルに10回叩く

ab -n 10 -c 1 https://xxxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/xxxxx

ログ確認

作成されるログストリームは1つだけ

image.png

実行結果ログも/tmpの中にファイルが10個ある状態
※Lambdaの中で /tmp の配下をlsした結果をログに出してます。。

/tmp
['test1_5591.txt', 'test1_9376.txt', 'test1_9482.txt', 'test1_4822.txt', 'test1_7072.txt', 'test1_9011.txt', 'test1_3376.txt', 'test1_1117.txt', 'test1_804.txt', 'test1_8941.txt']
10

1つのURLを同時に10回叩く

ab -n 10 -c 10 https://xxxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/xxxxx

ログ確認

ログストリームが大量に生成される。

image.png

ログの中身を全部張るのはきついので文章で中身の状況説明すると、

  • /tmp 配下のファイルが1ファイルのログが8つ
  • /tmp 配下のファイルが12ファイルのログが1つ※

※シーケンシャルに叩いた時のコンテナが再利用されたため、abコマンド実行時点で10ファイルある状態。
※コンテナの1つ(↑のコンテナ)が2回使いまわされている。

という状況になった。

結論

  • Lambdaのコンテナは使いまわされる。
  • 負荷に応じて自動でスケールアウトする。

※ちなみに実行するLambdaが同じであれば、別々のURLを同時に叩いても同じ結果。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0