Na parte 7 da série Data API for Amazon Aurora Serverless v2 com AWS SDK for Java – Data API atende SnapStart, medimos os tempos de inicialização a frio e a quente da função Lambda conectando-se ao banco de dados Amazon Aurora Serverless v2 PostgreSQL usando Data API para 3 casos de uso:
Neste artigo, gostaríamos de comparar essas medições com aquelas, mas com o uso do DynamoDB em vez da API de dados para Amazon Aurora Serverless v2.
Em minha série de artigos sobre Lambda SnapStart, já fizemos essas medições para aplicativos semelhantes, mas no artigo Medindo partidas a quente com Java 21 usando diferentes configurações de memória Lambda.
Ambos os aplicativos Data API para Amazon Aurora Serverless v2 e DynamoDB são muito semelhantes:
Agora vamos juntar todas as medições.
Hora de início frio (c) e quente (m) em ms:
Abordagem | cp50 | p75 | cp90 | cp99 | c p99.9 | c máx | p50 | p75 | p90 | wp99 | w p99.9 | w máximo |
---|---|---|---|---|---|---|---|---|---|---|---|---|
API de dados, sem SnapStart ativado | 3154,35 | 3237 | 3284.91 | 3581.49 | 3702.12 | 3764.92 | 104,68 | 173,96 | 271,32 | 572.11 | 1482,89 | 2179.7 |
DynamoDB, sem SnapStart ativado | 3157.6 | 3213,85 | 3270,8 | 3428.2 | 3601.12 | 3725.02 | 5,77 | 6,50 | 7,81 | 20,65 | 90,20 | 1423.63 |
API de dados, SnapStart ativado sem preparação | 1856.11 | 1994.61 | 2467.83 | 3229.11 | 3238,80 | 3241,75 | 61.02 | 113,32 | 185,37 | 639,35 | 1973.30 | 2878,5 |
DynamoDB, SnapStart habilitado sem preparação | 1626.69 | 1741.10 | 2040,99 | 2219,75 | 2319.54 | 2321.64 | 5,64 | 6.41 | 7,87 | 21h40 | 99,81 | 1355.09 |
API de dados, SnapStart habilitado com priming | 990,84 | 1069.04 | 1634.84 | 2120,00 | 2285.03 | 2286,9 | 60.06 | 106,35 | 185,37 | 581,27 | 1605.37 | 2658.24 |
DynamoDB, SnapStart habilitado com priming | 702,55 | 759,52 | 1038,50 | 1169.66 | 1179.05 | 1179.36 | 5,73 | 6,51 | 7,87 | 21,75 | 92.19 | 328,41 |
Neste artigo, comparei medições dos tempos de inicialização a frio e a quente da função Lambda conectando-se ao banco de dados Amazon Aurora Serverless v2 PostgreSQL usando Data API versus conectando-se ao banco de dados DynamoDB para 3 casos de uso:
O que observamos é que os tempos de inicialização a frio sem ativar o SnapStart na função Lambda são bastante comparáveis para ambos. Caso o SnapStart esteja habilitado (sem e especialmente com priming), a API de dados para Amazon Aurora Serverless v2 tem tempos de inicialização a frio significativamente mais altos, especialmente para os percentis >= 90. Precisarei me aprofundar para entender essa diferença, pois não o fiz. espere que seja tão grande, especialmente se o primer tiver sido aplicado. Talvez a razão para isso seja que os serviços nativos da AWS, como o DynamoDB, são mais compatíveis com o SnapStart e posso lidar melhor com retomadas de conexão.
Os tempos de inicialização a quente (execução) foram constantemente muito mais altos para a API de dados do Amazon Aurora Serverless v2 em comparação com o DynamoDB, o que eu também esperava, já que o DynamoDB é conhecido por seus tempos de resposta de milissegundos de um ou dois dígitos.
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