Предоставленный параллелизм не разрешает холодный запуск лямбда

У меня есть очень простая лямбда-функция, которая вызывается AWS API Gateway, и все, что делает лямбда, это просто вызывает AWS SNS для отправки текстового сообщения. Лямбда управляется версиями и настроена с 1 подготовленным параллелизмом со статусом Готово.

Я испытываю задержку холодного старта до 13 секунд при первом вызове версированной лямбды через 20–30 минут.

Ниже приведен журнал шлюза API AWS, в котором подробно указано, сколько времени потребовалось, чтобы получить ответ после вызова лямбда-выражения с поддержкой версий с предоставленным параллелизмом.

Thu Oct 15 19:32:06 UTC 2020 : Sending request to https://lambda.us-west-2.amazonaws.com/2015-03-31/functions/arn:aws:lambda:us-west-2:123456789:function:sms-service-lambda-dev-test-01:3/invocations
Thu Oct 15 19:32:19 UTC 2020 : Received response. Status: 200, Integration latency: 12550 ms

но все последующие вызовы выполняются довольно быстро

Thu Oct 15 19:50:19 UTC 2020 : Sending request to https://lambda.us-west-2.amazonaws.com/2015-03-31/functions/arn:aws:lambda:us-west-2:123456789:function:sms-service-lambda-dev-test-01:3/invocations
Thu Oct 15 19:50:20 UTC 2020 : Received response. Status: 200, Integration latency: 713 ms

Есть идеи, что мне может не хватать?

Вы уверены, что предоставленный параллелизм предназначен для версии 3 вашей функции?   —  person pahnman    schedule 16.10.2020

@Marcin Да, когда я посещаю sms-service-lambda-dev-test-01: 3 (версия 3) в консоли AWS, он отображается как 1 подготовленный параллелизм с зеленым статусом «Готов».   —  person pahnman    schedule 16.10.2020

При просмотре sms-service-lambda-dev-01 (без версий) он также отображает подготовленные конфигурации параллелизма и показывает, что существует один подготовленный параллелизм в квалификаторе 3 версии типа.   —  person pahnman    schedule 16.10.2020

Я вижу то же самое, и здесь есть ряд вопросов, которые ссылаются на нечто подобное. Кто-нибудь что-нибудь узнал об этом?   —  person pahnman    schedule 26.10.2020

См. также:  Должно ли имя пакета в Go совпадать с именем самого внутреннего каталога?
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. pahnman

    Я смог отладить это более детально и обнаружил, что холодный запуск действительно происходит на стороне Amazon SNS.

    При использовании dotnet AWS SDK для публикации сообщения в AWS SNS я обнаружил, что первоначальный вызов AWS SNS имеет холодный старт, который занимает около 7 секунд, а все последующие вызовы AWS SNS занимают менее секунды.

    PublishResponse pubResponse = await snsClient.PublishAsync(pubRequest);
    
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: