«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Функция Lambda с использованием образа контейнера Docker. Часть измерения холодного и горячего запуска функции Lambda с помощью Java (время выполнения

Функция Lambda с использованием образа контейнера Docker. Часть измерения холодного и горячего запуска функции Lambda с помощью Java (время выполнения

Опубликовано 3 ноября 2024 г.
Просматривать:325

Lambda function using Docker Container Image -Part easuring cold and warm starts of Lambda function with Java ( runtime

Введение

В первой статье нашей небольшой серии мы рассмотрели, как разрабатывать и развертывать функцию Lambda с использованием образа контейнера Docker и среды выполнения Java. Мы рассмотрели два варианта использования:

  • Образ контейнера Docker базы AWS Lambda
  • Базовый образ только для ОС AWS

В этой статье мы измерим холодный и горячий запуск функции Lambda, используя этот подход, используя образ базового контейнера Docker AWS Lambda.

Измерение холодного и горячего запусков функции Lambda с использованием образа базового контейнера Docker AWS Lambda и среды выполнения Java (21).

Для наших измерений мы будем использовать пример приложения из первой части и среду выполнения Java 21 для наших функций Lambda. Для всех функций Lambda мы выделяем 1024 МБ памяти и используем JAVA_TOOL_OPTIONS: "-XX: TieredCompilation -XX:TieredStopAtLevel=1", так как этот вариант компиляции обеспечивает очень хорошее соотношение времени холодного и горячего запуска.

Результаты приведенного ниже эксперимента были основаны на воспроизведении более 100 холодных и примерно 100 000 теплых запусков в течение 1 часа с помощью функции Lambda GetProductByIdWithPureJava21GraalVMNativeImageLambda, которая сопоставлена ​​с классом обработчика Java Lambda, который отвечает за получение продукта (сохраненного в DynamoDB) по идентификатору. Для этого я использовал инструмент нагрузочного тестирования, но вы можете использовать любой инструмент, который захотите, например Serverless-artillery или Postman.

Время холодного (c) и теплого (m) старта в мс:

c стр.50 c стр.75 c стр.90 c стр.99 c стр.99.9 максимум стр50 w стр75 w стр90 w стр.99 w p99.9 макс
3093,26 3219,44 3314.12 4632,16 6513,35 6517,71 5,47 6.20 7,39 17.14 43.03 1386.07

Заключение

В этой статье мы измерили время холодного и горячего запуска функции Lambda, используя этот подход, используя образ базового контейнера Docker AWS Lambda. Мы испытали довольно значительное время холодного запуска и довольно конкурентоспособное время горячего запуска по сравнению с измерением холодного и горячего запуска с помощью Java 21 с использованием различных настроек памяти Lambda для Lambda с памятью 1024 МБ и управляемой средой выполнения Lambda Java 21.

AWS Lambda SnapStart, который значительно сокращает время холодного запуска, в настоящее время доступен только для управляемых сред выполнения Java Corretto (11, 17 и 21), но не для образов контейнеров Docker. Вы можете изучить инструмент jlink для сборки и оптимизации набора модулей и их зависимостей в меньший по размеру собственный образ среды выполнения и совместного использования данных классов (CDS), что помогает сократить время запуска приложений на языке программирования Java, в частности небольших приложений, а также уменьшить занимаемую площадь. Преимущество использования образа Docker в качестве артефакта развертывания для Java заключается в возможности использовать новейшую среду выполнения Java, например Java 22 (Java 23 будет выпущена в сентябре 2024 г.).

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/aws-builders/lambda-function-using-docker-container-image-part-2-measuring-cold-and-warm-starts-of-lambda-function-. with- java-21-runtime-mof?1Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3