Heim > Java > Java-Tutorial > Hauptteil

Daten-API für Amazon Aurora Serverless mit AWS SDK für Java – Teil zum Vergleich von Kalt- und Warmstarts: Daten-API vs. DynamoDB

王林
Freigeben: 2024-07-23 11:17:43
Original
802 人浏览过

Data API for Amazon Aurora Serverless vith AWS SDK for Java - Part omparing cold and warm starts: Data API vs DynamoDB

Einführung

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 :

  • ohne SnapStart für die Lambda-Funktion aktiviert
  • mit aktiviertem SnapStart für die Lambda-Funktion, aber ohne Ansaugoptimierung
  • mit aktiviertem SnapStart für die Lambda-Funktion und mit Priming-Optimierung (Vorwärmen der SQL-Anweisungsausführung in der PostgreSQL-Datenbank).

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.

Vergleich von Lambda-Kalt- und Warmstarts: Daten-API für Amazon Aurora Serverless v2 vs. DynamoDB

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 :

  • Sie bieten Logik zum Speichern und Abrufen von Produkten aus der Datenbank
  • Lambda-Funktionen aus beiden Projekten haben eine Speichereinstellung von 1024 MB
  • Die Größe der Bereitstellungsartefakte beträgt für beide etwa 18 MB
  • Lambda-Funktionen aus beiden Projekten verwenden den standardmäßigen synchronen HTTP-Apache-Client für die Kommunikation mit Datenbanken
  • Lambda-Funktionen aus beiden Projekten verwenden die x86_64-Architektur

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

Abschluss

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:

  • ohne SnapStart für die Lambda-Funktion aktiviert
  • mit aktiviertem SnapStart für die Lambda-Funktion, aber ohne Ansaugoptimierung
  • mit aktiviertem SnapStart für die Lambda-Funktion und mit Vorbereitung der Datenbankanforderung

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中文网其他相关文章!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!