Лямбда-функции внутри VPC оказывают большое влияние на время запуска.Вы сказали, что ваш ES является размещенным экземпляром, поэтому я предполагаю, что он поддерживается VPC.
Даже если он не входит в VPC, холодные запуски Java обычно по своей природе длиннее времени выполнения, как Node или Python, потому чтоJVM должен быть запущен первым.Это в основном то, откуда берутся ваши 2,5 секунды.
ОК.Как решить проблему?
Это зависит от того, сколько одновременных подключений вам нужно к ElasticSearch.Если одна функция способна обрабатывать все входящие запросы, вы можете ограничить одновременное выполнение вашей лямбда-функции до 1, поэтому вы всегда должны использовать один и тот же контейнер (если эти запросы выполняются в течение ± 5 мин.таймфрейм).
Теперь, если вы не знаете заранее, сколько параллельных лямбда-функций будет выполняться, у вас вроде нет выхода.Вы можете попытаться прогреть ваши функции Lambda заранее, но тогда вам нужно будет запустить 100 запросов одновременно, чтобы прогреть 100 различных контейнеров.
Пожалуйста, отметьте этот ответ , поскольку ярассмотрим параллельную модель лямбда-функций и то, как начинает работать холод / тепло.
Я с удовольствием отредактирую свой ответ, если у вас есть дополнительная информация или если я не достаточно ясен.