"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Função Lambda usando Docker Container Image -Parte que facilita inicializações a frio e a quente da função Lambda com Java (tempo de execução

Função Lambda usando Docker Container Image -Parte que facilita inicializações a frio e a quente da função Lambda com Java (tempo de execução

Publicado em 2024-11-03
Navegar:805

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

Introdução

No primeiro artigo de nossa pequena série, exploramos como desenvolver e implantar a função Lambda usando Docker Container Image e Java runtime. Exploramos 2 casos de uso:

  • Imagem de contêiner Docker base do AWS Lambda
  • Imagem base somente do sistema operacional AWS

Neste artigo, mediremos inicializações a frio e a quente da função Lambda usando esta abordagem Imagem de contêiner Docker base do AWS Lambda.

Medindo inicializações a frio e a quente da função Lambda usando imagem de contêiner base Docker do AWS Lambda e tempo de execução Java (21)

Para nossas medições, usaremos nosso aplicativo de exemplo da primeira parte e usaremos o tempo de execução Java 21 para nossas funções Lambda. Para todas as funções Lambda, fornecemos 1024 MB de memória e usamos JAVA_TOOL_OPTIONS: "-XX: TieredCompilation -XX:TieredStopAtLevel=1" pois esta opção de compilação fornece uma troca muito boa entre os tempos de inicialização a frio e a quente.

Os resultados do experimento abaixo foram baseados na reprodução de mais de 100 partidas a frio e aproximadamente 100.000 partidas a quente durante 1 hora com a função Lambda GetProductByIdWithPureJava21GraalVMNativeImageLambda que é mapeada para a classe manipuladora Java Lambda que é responsável por recuperar o produto (armazenado no DynamoDB) por id. Para isso usei a ferramenta de teste de carga, ei, mas você pode usar qualquer ferramenta que quiser, como Artilharia sem servidor ou Postman.

Tempo de início frio (c) e quente (m) em ms:

cp50p75cp90cp99c p99.9c máxp50p75p90wp99w p99.9w máximo3093.263219.443314.124632.166513,356517.715.476.207,3917.1443.031386.07
Conclusão

Neste artigo, medimos os tempos de início de frio e aquecimento da função Lambda usando esta abordagem Imagem de contêiner Docker base do AWS Lambda. Experimentamos uma inicialização a frio bastante significativa e tempos de inicialização a quente bastante competitivos em comparação com Medição de inicializações a frio e a quente com Java 21 usando diferentes configurações de memória Lambda para Lambda com 1024 MB de memória e tempo de execução gerenciado Lambda Java 21.

AWS Lambda SnapStart, que reduz significativamente os tempos de inicialização a frio, está disponível atualmente apenas para tempos de execução gerenciados do Java Corretto (11, 17 e 21) e não para imagens de contêiner do Docker. Você pode explorar a ferramenta jlink para montar e otimizar um conjunto de módulos e suas dependências em uma imagem de tempo de execução personalizada menor e compartilhamento de dados de classe (CDS), o que ajuda a reduzir o tempo de inicialização para aplicativos de linguagem de programação Java, em particular aplicativos menores, bem como reduzir a pegada. A vantagem de usar a imagem Docker como artefato de implantação para Java é a capacidade de usar o tempo de execução Java recente como Java 22 (Java 23 será lançado em setembro de 2024).

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/aws-builders/lambda-function-using-docker-container-image-part-2-measuring-cold-and-warm-starts-of-lambda-function- com-java-21-runtime-mof?1Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3