"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Función Lambda utilizando Docker Container Image: parte que mide los inicios en frío y en caliente de la función Lambda con Java (tiempo de ejecución).

Función Lambda utilizando Docker Container Image: parte que mide los inicios en frío y en caliente de la función Lambda con Java (tiempo de ejecución).

Publicado el 2024-11-03
Navegar:929

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

Introducción

En el primer artículo de nuestra pequeña serie, exploramos cómo desarrollar e implementar la función Lambda utilizando Docker Container Image y el tiempo de ejecución de Java. Exploramos 2 casos de uso:

  • Imagen del contenedor Docker base de AWS Lambda
  • Imagen base solo para sistema operativo AWS

En este artículo mediremos los inicios en frío y en caliente de la función Lambda utilizando este enfoque de imagen del contenedor Docker base de AWS Lambda.

Medición de inicios en frío y en caliente de la función Lambda utilizando la imagen del contenedor Docker base de AWS Lambda y el tiempo de ejecución de Java (21)

Para nuestras mediciones usaremos nuestra aplicación de muestra de la primera parte y usaremos el tiempo de ejecución de Java 21 para nuestras funciones Lambda. Para todas las funciones Lambda damos 1024 MB de memoria y usamos JAVA_TOOL_OPTIONS: "-XX: TieredCompilation -XX:TieredStopAtLevel=1" ya que esta opción de compilación proporciona un muy buen intercambio entre los tiempos de inicio en frío y en caliente.

Los resultados del experimento siguiente se basaron en la reproducción de más de 100 arranques en frío y aproximadamente 100.000 arranques en caliente durante 1 hora con la función Lambda GetProductByIdWithPureJava21GraalVMNativeImageLambda, que está asignada a la clase de controlador Java Lambda que es responsable de recuperar el producto (almacenado). en DynamoDB) por id. Para ello utilicé la herramienta de prueba de carga, pero puedes usar la herramienta que quieras, como Serverless-artillery o Postman.

Hora de inicio en frío (c) y calor (m) en ms:

cp50 c p75 c p90 c p99 cp99.9 c máx w p50 w p75 w p90 w p99 w p99.9 w máx
3093.26 3219.44 3314.12 4632.16 6513.35 6517.71 5.47 6.20 7.39 17.14 43.03 1386.07

Conclusión

En este artículo, medimos los tiempos de inicio en frío y en caliente de la función Lambda utilizando este enfoque de imagen del contenedor Docker base de AWS Lambda. Experimentamos tiempos de arranque en frío bastante significativos y tiempos de arranque en caliente bastante competitivos en comparación con la medición de arranques en frío y en caliente con Java 21 utilizando diferentes configuraciones de memoria Lambda para Lambda con 1024 MB de memoria y tiempo de ejecución administrado de Lambda Java 21.

AWS Lambda SnapStart, que reduce significativamente los tiempos de inicio en frío, actualmente solo está disponible para tiempos de ejecución administrados de Java Corretto (11, 17 y 21) y no para imágenes de contenedores Docker. Puede explorar la herramienta jlink para ensamblar y optimizar un conjunto de módulos y sus dependencias en una imagen de tiempo de ejecución personalizada más pequeña y un intercambio de datos de clase (CDS), lo que ayuda a reducir el tiempo de inicio de las aplicaciones del lenguaje de programación Java, en particular las aplicaciones más pequeñas, así como reducir la huella. La ventaja de utilizar Docker Image como artefacto de implementación para Java es la capacidad de utilizar el tiempo de ejecución de Java reciente como Java 22 (Java 23 se lanzará en septiembre de 2024).

Declaración de liberación Este artículo se reproduce en: 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?1Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3