Dans la partie 7 de la série Data API for Amazon Aurora Serverless v2 with AWS SDK for Java - Data API meets SnapStart, nous avons mesuré les heures de démarrage à froid et à chaud de la fonction Lambda se connectant à la base de données PostgreSQL Amazon Aurora Serverless v2 à l'aide de Data API pour 3 cas d'usage :
Dans cet article, nous aimerions comparer ces mesures avec celles mais en utilisant DynamoDB au lieu de l'API de données pour Amazon Aurora Serverless v2.
Dans ma série d'articles sur Lambda SnapStart, nous avons déjà effectué de telles mesures pour une application similaire, mais dans l'article Mesurer les démarrages à chaud avec Java 21 en utilisant différents paramètres de mémoire Lambda.
Les deux applications Data API pour Amazon Aurora Serverless v2 et DynamoDB sont très similaires :
Maintenant, rassemblons toutes les mesures.
Heure de démarrage à froid (c) et à chaud (m) en ms :
Approach | c p50 | c p75 | c p90 | c p99 | c p99.9 | c max | w p50 | w p75 | w p90 | w p99 | w p99.9 | w max |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Data API, no SnapStart enabled | 3154.35 | 3237 | 3284.91 | 3581.49 | 3702.12 | 3764.92 | 104.68 | 173.96 | 271.32 | 572.11 | 1482.89 | 2179.7 |
DynamoDB, no SnapStart enabled | 3157.6 | 3213.85 | 3270.8 | 3428.2 | 3601.12 | 3725.02 | 5.77 | 6.50 | 7.81 | 20.65 | 90.20 | 1423.63 |
Data API, SnapStart enabled without priming | 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 enabled without priming | 1626.69 | 1741.10 | 2040.99 | 2219.75 | 2319.54 | 2321.64 | 5.64 | 6.41 | 7.87 | 21.40 | 99.81 | 1355.09 |
Data API, SnapStart enabled with 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 enabled with 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 |
Dans cet article, j'ai comparé les mesures des heures de démarrage à froid et à chaud de la fonction Lambda se connectant à la base de données Amazon Aurora Serverless v2 PostgreSQL à l'aide de l'API Data et à la connexion à la base de données DynamoDB pour 3 cas d'utilisation :
Ce que nous avons observé, c'est que les temps de démarrage à froid sans activer SnapStart sur la fonction Lambda sont tout à fait comparables pour les deux. Dans le cas où SnapStart est activé (sans et surtout avec amorçage), l'API de données pour Amazon Aurora Serverless v2 a des temps de démarrage à froid nettement plus élevés, en particulier pour les centiles >= 90. Je devrai creuser plus profondément pour comprendre cette différence comme je l'ai fait. Je ne m'attendais pas à ce qu'il soit aussi gros, surtout si un apprêt était appliqué. La raison en est peut-être que les services natifs AWS comme DynamoDB sont davantage conscients de SnapStart. Je peux mieux gérer les reprises de connexion.
Les temps de démarrage à chaud (exécution) étaient constamment beaucoup plus élevés pour l'API de données pour Amazon Aurora Serverless v2 par rapport à DynamoDB, ce à quoi je m'attendais également car DynamoDB est connu pour ses temps de réponse à un ou deux chiffres en millisecondes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!