Im Teil 7 der Serie „Daten-API für Amazon Aurora Serverless v2 mit AWS SDK für Java – Daten-API trifft auf SnapStart“ haben wir die Kalt- und Warmstartzeiten der Lambda-Funktion gemessen, die mithilfe der Daten-API eine Verbindung zur PostgreSQL-Datenbank von Amazon Aurora Serverless v2 herstellt 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 verschiedener Lambda-Speichereinstellungen .
Beide Anwendungen Data API für Amazon Aurora Serverless v2 und DynamoDB sind sehr ähnlich :
Jetzt fassen wir alle Maße 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 Grundierung 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 Vorbereitung 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 über die Daten-API herstellt, mit der Verbindung zur DynamoDB-Datenbank für drei Anwendungsfälle verglichen:
Was wir beobachtet haben, ist, dass die Kaltstartzeiten ohne Aktivierung von SnapStart in der 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. Ich erwarte nicht, dass es so groß wird, 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.
以上是Daten-API für Amazon Aurora Serverless mit AWS SDK für Java – Teil zum Vergleich von Kalt- und Warmstarts: Daten-API vs. DynamoDB的详细内容。更多信息请关注PHP中文网其他相关文章!