У меня есть очередь SQS и лямбда, которые используют очередь с размером пакета 10.
Лямбда
Резервный параллелизм = 600
Тайм-аут = 15 минут
Память = 640 МБ (но с использованием 150-200 МБ на выполнение)
Обработка одного элемента из очереди занимает около 10 секунд.
SQS
Доступные сообщения (видимые): 5,310
Сообщения в полете (не видны): 3,355
Время ожидания видимости по умолчанию: 20 минут
С этими настройками я ожидаю, что моя лямбда-функция будет вызываться 600 раз, потому что, как вы видите, очередь заполнена, и есть элементы, которые будут получены из очереди. Таким образом, функция не должна быть бездействующей и использовать весь доступный параллелизм.
Я знаю о первой 1-й минуте пакета, и позже мой параллелизм будет увеличиваться каждую минуту, пока не достигнет предела. Но мой счет вызовов всегда между 40-80. Никогда не достигает 600, и моя очередь истощается очень медленно. И (согласно журналам) почти любой из элементов очереди выходит из строя, поэтому они больше не возвращаются в очередь.
Что не так с моими настройками?
РЕДАКТИРОВАТЬ: Также еще один график:
Увеличился на мгновение и снова уменьшился ..