Когда вы впервые вызываете функцию Lambda, будет создан новый контейнер с соответствующими ресурсами, и код для функции будет загружен в контейнер. Это называется холодным стартом.
JavaScript, Python, Go и Ruby готовы примерно за 400 миллисекунд и почти всегда за 700 миллисекунд. Java немного медленнее.
Теперь, если ваш код выполнен и время выполнения прошло, и вы снова вызываете функцию, тогда Lambda может снова создать новый контейнер. Если вы хотите сохранить функцию «теплой», вам нужно будет пинговать вашу лямбда-функцию каждые 5–15 минут, используя событие CloudWatch, чтобы сохранить ее теплой.
Предоставляет ли AWS Lambda глобальную переменную
Да, вы можете использовать глобальную переменную внутри AWS Lambda, но помните два вышеупомянутых момента, которые я упомянул. Лямбда-функция получает данные из базы данных, выполняет итерацию по небольшому набору данных, добавляет их в список и использует их в своей функции до тех пор, пока ваша функция не станет горячей.
Убедитесь, что ваше правило не должно часто обновляться, иначе это может быть полный беспорядок.
Воспользуйтесь преимуществами многократного использования контекста выполнения для повышения производительноститвоя функция. Убедитесь, что любая внешняя конфигурация или зависимости, которые получает ваш код, хранятся и имеют локальные ссылки после первоначального выполнения. Ограничьте повторную инициализацию переменных / объектов при каждом вызове. Вместо этого используйте статическую инициализацию / конструктор, глобальные / статические переменные и синглтоны. Поддержание активности и повторное использование соединений (HTTP, базы данных и т. Д.), Которые были установлены во время предыдущего вызова