Мы уже некоторое время используем AWS Lambda и запустили еще один процесс Lambda, но на этот раз мы заметили неожиданное поведение в отношении подхода масштабирования Lambda и частоты появления ошибок.
У нас есть настройка SQS -> Lambda с максимальным параллелизмом 200, и в очереди около 100k сообщений, в среднем около 3 секунд для обработки каждого. Lambda терпит неудачу на уровне примерно 5% -10% в зависимости от консоли, и это ожидается в текущем подходе. К сожалению, то, что мы видели, это то, что Lambda выполняет только около 45-50 или более макс. Одновременных исполнений. Мы настроили память, время ожидания, настройки очереди и т. Д., Ничего не получалось. Наконец, у нас всегда был успешный выход из Lambda, и теперь мы достигли максимального параллелизма.
Почему это? В документации нигде не упоминается, что частота ошибок связана с параллелизмом или масштабированием. Кто-нибудь еще испытывал это?
Это имеет смысл как своего рода надежная защита для конечного пользователя, но мы просто не ожидали этого. Мы корректируем наш текущий подход, чтобы учесть эту теорию.
tldr:
Лямбда имеет максимальный параллелизм 200 и запускается SQS
Когда уровень ошибок составляет 5% -10%, он достигает примерно 45-50 одновременных выполнений
Когда уровень ошибок равен 0%, он достигает 200 одновременных выполнений
Почему?