Lambdas вызывает изменения скорости - PullRequest
0 голосов
/ 12 июня 2019

Я создал простую лямбду, которая читает данные из DynamodB.

В первый раз, когда я вызываю лямбду, для завершения требуется около 1500 мс, но затем, после повторного запуска лямбды, это занимает около 150 мс. Как это возможно?

Какой тип ответа на кеширование AWS выполняет для достижения этой цели?

Ответы [ 2 ]

1 голос
/ 13 июня 2019

Это происходит из-за холодного старта.Это происходит, главным образом, когда мы запускаем лямбду в первый раз после развертывания или когда лямбда-функция некоторое время простаивает.

В этих статьях объясняется, как язык, память или размер лямбды влияют на холодный запуск

https://read.acloud.guru/does-coding-language-memory-or-package-size-affect-cold-starts-of-aws-lambda-a15e26d12c76

https://mikhail.io/serverless/coldstarts/aws/

1 голос
/ 12 июня 2019

AWS Lambda - это инфраструктура предоставления при первом вызове, и для этого требуется AWS, чтобы запустить JVM с кодом, чтобы иметь возможность вызывать функцию. Запуск JVM требует времени и, следовательно, потребует дополнительных затрат.

Другая проблема - холодная, если нет свободного контейнера, ожидающего выполнения кода. Это все невидимо для пользователя, и AWS имеет полный контроль над тем, когда убивать контейнеры.

Таким образом, вышеупомянутые шаги выполняются во время первого вызова, и вы можете увидеть 1500 мс При следующем вызове у вас все на месте, поэтому лямбда даст ответ за 150 мс или меньше.

Это в соответствии с разработкой безсерверных систем для экономии затрат на инфраструктуру, только для обеспечения инфраструктуры при необходимости и получения первого звонка.

Я бы предложил прочитать документы
- https://aws.amazon.com/lambda/

...