Rumah  >  Artikel  >  Java  >  API Data untuk Amazon Aurora Tanpa Pelayan dengan AWS SDK untuk Java - Bahagian yang membandingkan permulaan sejuk dan hangat: API Data lwn DynamoDB

API Data untuk Amazon Aurora Tanpa Pelayan dengan AWS SDK untuk Java - Bahagian yang membandingkan permulaan sejuk dan hangat: API Data lwn DynamoDB

王林
王林asal
2024-07-23 11:17:43962semak imbas

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

pengenalan

Dalam bahagian 7 siri Data API untuk Amazon Aurora Serverless v2 dengan AWS SDK untuk Java - Data API memenuhi SnapStart kami mengukur masa mula sejuk dan hangat fungsi Lambda yang menyambung ke pangkalan data Amazon Aurora Serverless v2 PostgreSQL menggunakan Data API untuk 3 kes penggunaan :

  • tanpa SnapStart didayakan pada fungsi Lambda
  • dengan SnapStart didayakan pada fungsi Lambda tetapi tanpa pengoptimuman penyebuan
  • dengan SnapStart didayakan pada fungsi Lambda dan dengan pengoptimuman penyebuan (pelaksanaan pernyataan SQL pra-pemanasan pada pangkalan data PostgreSQL).

Dalam artikel ini kami ingin membandingkan ukuran tersebut dengan ukuran tersebut tetapi dengan menggunakan DynamoDB dan bukannya API Data untuk Amazon Aurora Serverless v2.

Membandingkan permulaan sejuk dan hangat Lambda: API Data untuk Amazon Aurora Tanpa Pelayan v2 vs DynamoDB

Dalam siri artikel saya tentang Lambda SnapStart, kami telah melakukan pengukuran sedemikian untuk aplikasi yang serupa tetapi dalam artikel Mengukur panas bermula dengan Java 21 menggunakan tetapan memori Lambda yang berbeza .

Kedua-dua API Data aplikasi untuk Amazon Aurora Serverless v2 dan DynamoDB adalah sangat serupa :

  • Mereka menyediakan logik untuk menyimpan dan mendapatkan semula produk daripada pangkalan data
  • Fungsi Lambda daripada kedua-dua projek mempunyai tetapan memori 1024 MB
  • Saiz artifak penempatan adalah sekitar 18 MB untuk kedua-duanya
  • Fungsi Lambda daripada kedua-dua projek menggunakan klien HTTP Apache segerak lalai untuk berkomunikasi dengan pangkalan data
  • Fungsi Lambda daripada kedua-dua projek menggunakan seni bina x86_64

Sekarang mari letak semua ukuran bersama-sama.

Masa mula sejuk (c) dan hangat (m) dalam 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

Kesimpulan

Dalam artikel ini saya membandingkan ukuran masa mula sejuk dan hangat fungsi Lambda yang menyambung ke pangkalan data Amazon Aurora Serverless v2 PostgreSQL menggunakan API Data berbanding menyambung ke pangkalan data DynamoDB untuk 3 kes penggunaan:

  • tanpa SnapStart didayakan pada fungsi Lambda
  • dengan SnapStart didayakan pada fungsi Lambda tetapi tanpa pengoptimuman penyebuan
  • dengan SnapStart didayakan pada fungsi Lambda dan dengan penyebuan permintaan pangkalan data

Apa yang kami perhatikan ialah masa mula sejuk tanpa mendayakan SnapStart pada fungsi Lambda adalah agak setanding untuk kedua-duanya. Sekiranya SnapStart didayakan (tanpa dan terutamanya dengan penyebuan) Data API untuk Amazon Aurora Serverless v2 mempunyai masa mula sejuk yang jauh lebih tinggi, terutamanya untuk persentil >= 90. Saya perlu menggali lebih mendalam untuk memahami perbezaan ini seperti yang saya lakukan' tidak menjangkakan ia sebesar itu, terutamanya jika penyebuan digunakan. Mungkin sebabnya ialah perkhidmatan asli AWS seperti DynamoDB lebih sedar SnapStart saya boleh berurusan dengan lebih baik dengan resume sambungan.

Masa permulaan (pelaksanaan) yang hangat sentiasa jauh lebih tinggi untuk API Data untuk Amazon Aurora Serverless v2 berbanding DynamoDB yang juga saya jangkakan kerana DynamoDB terkenal dengan masa tindak balas milisaat tunggal atau dua digit.

Atas ialah kandungan terperinci API Data untuk Amazon Aurora Tanpa Pelayan dengan AWS SDK untuk Java - Bahagian yang membandingkan permulaan sejuk dan hangat: API Data lwn DynamoDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn