Im Teil 7 der Serie „Daten-API für Amazon Aurora Serverless v2 mit AWS SDK für Java – Daten-API trifft SnapStart“ haben wir die Kalt- und Warmstartzeiten der Lambda-Funktion gemessen, die mithilfe von Daten eine Verbindung zur PostgreSQL-Datenbank von Amazon Aurora Serverless v2 herstellt API für 3 Anwendungsfälle:
In diesem Artikel möchten wir diese Messungen mit denen vergleichen, jedoch unter Verwendung von DynamoDB anstelle der Daten-API für Amazon Aurora Serverless v2.
In meiner Artikelserie über Lambda SnapStart haben wir solche Messungen bereits für die ähnliche Anwendung durchgeführt, aber im Artikel Messung von Warmstarts mit Java 21 unter Verwendung unterschiedlicher Lambda-Speichereinstellungen.
Beide Anwendungen Data API für Amazon Aurora Serverless v2 und DynamoDB sind sehr ähnlich:
Fügen wir nun alle Messungen zusammen.
Kalte (c) und warme (m) Startzeit in ms:
Ansatz | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Daten-API, kein SnapStart aktiviert | 3154,35 | 3237 | 3284,91 | 3581,49 | 3702.12 | 3764,92 | 104,68 | 173,96 | 271,32 | 572.11 | 1482,89 | 2179,7 |
DynamoDB, kein SnapStart aktiviert | 3157,6 | 3213,85 | 3270,8 | 3428.2 | 3601.12 | 3725.02 | 5,77 | 6,50 | 7,81 | 20,65 | 90,20 | 1423,63 |
Daten-API, SnapStart ohne Vorbereitung aktiviert | 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 ohne Grundierung aktiviert | 1626,69 | 1741.10 | 2040,99 | 2219,75 | 2319,54 | 2321,64 | 5,64 | 6.41 | 7,87 | 21,40 | 99,81 | 1355.09 |
Daten-API, SnapStart mit Priming aktiviert | 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 aktiviert mit Grundierung | 702,55 | 759,52 | 1038,50 | 1169,66 | 1179,05 | 1179,36 | 5,73 | 6,51 | 7,87 | 21,75 | 92,19 | 328,41 |
In diesem Artikel habe ich Messungen der Kalt- und Warmstartzeiten der Lambda-Funktion, die eine Verbindung zur Amazon Aurora Serverless v2 PostgreSQL-Datenbank mithilfe der Daten-API herstellt, mit der Verbindung zur DynamoDB-Datenbank für drei Anwendungsfälle verglichen:
Wir haben festgestellt, dass die Kaltstartzeiten ohne Aktivierung von SnapStart für die Lambda-Funktion für beide recht vergleichbar sind. Falls SnapStart aktiviert ist (ohne und insbesondere mit Priming), hat die Daten-API für Amazon Aurora Serverless v2 deutlich längere Kaltstartzeiten, insbesondere für die Perzentile >= 90. Ich muss tiefer graben, um diesen Unterschied zu verstehen, da ich es nicht getan habe Erwarten Sie, dass es so groß ist, insbesondere wenn eine Grundierung aufgetragen wurde. Vielleicht liegt der Grund dafür darin, dass native AWS-Dienste wie DynamoDB SnapStart-fähiger sind. Ich kann besser mit Verbindungsfortsetzungen umgehen.
Die Warmstart-(Ausführungs-)Zeiten waren für die Daten-API für Amazon Aurora Serverless v2 im Vergleich zu DynamoDB konstant viel höher, was ich auch erwartet hatte, da DynamoDB für seine Reaktionszeiten im ein- oder zweistelligen Millisekundenbereich bekannt ist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3