Почему параллельные лямбда-запросы запускаются поздно? - PullRequest
0 голосов
/ 24 сентября 2018

Я запускаю нагрузочные тесты на AWS Lambda с Charlesproxy, но меня смущает график выпускаемых графиков.Я настроил тест со 100 одновременными подключениями и ожидаю различной степени задержки, но ожидаю, что все 100 запросов будут запущены одновременно (следовательно, одновременная настройка в расширенной функции повторения charlesproxy), но я вижу, что некоторые запросы начинаютсянемного поздно ... это если я правильно понимаю график.

Имея только 100 вызовов, я должен быть в пределах максимума параллелизма, установленного AWS Lambda, так почему же тогда этот запрос запускается поздно (см. Запросы 55 - 62 на прикрепленном изображении)?

Request + Response times

1 Ответ

0 голосов
/ 25 сентября 2018

Лямбда может занять от нескольких сотен миллисекунд до 1-2 секунд для запуска, когда она находится в «холодном состоянии».Холодный означает, что он должен загрузить ваш пакет, распаковать его, загрузить в память, а затем начать выполнение вашего кода.После выполнения этот контейнер остается "живым" в течение примерно 5-30 минут ("теплое состояние").Если вы сделаете запрос еще раз, когда он горячий, запуск контейнера будет намного быстрее.

Возможно, у вас уже было несколько контейнеров с подогревом, когда вы начали тестирование.Те начали быстрее.Поскольку другие запросы приходили одновременно, Lambda нужно было запускать больше контейнеров, а те приходили из «холодного состояния», поэтому разница во времени вы видите на графике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...