"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > واجهة برمجة تطبيقات البيانات لـ Amazon Aurora Serverless مع AWS SDK لـ Java - مقارنة جزئية لبدايات التشغيل الباردة والساخنة: Data API vs DynamoDB

واجهة برمجة تطبيقات البيانات لـ Amazon Aurora Serverless مع AWS SDK لـ Java - مقارنة جزئية لبدايات التشغيل الباردة والساخنة: Data API vs DynamoDB

تم النشر بتاريخ 2024-07-29
تصفح:676

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

مقدمة

في الجزء السابع من سلسلة Data API لـ Amazon Aurora Serverless v2 مع AWS SDK لـ Java - تجتمع Data API مع SnapStart، قمنا بقياس أوقات البدء الباردة والساخنة لوظيفة Lambda التي تتصل بقاعدة بيانات Amazon Aurora Serverless v2 PostgreSQL باستخدام البيانات واجهة برمجة التطبيقات لثلاث حالات استخدام:

  • بدون تمكين SnapStart في وظيفة Lambda
  • مع تمكين SnapStart في وظيفة Lambda ولكن بدون التحسين الأولي
  • مع تمكين SnapStart في وظيفة Lambda ومع تحسين الإعداد (تنفيذ عبارة SQL قبل التسخين في قاعدة بيانات PostgreSQL).

في هذه المقالة، نود مقارنة تلك القياسات مع تلك ولكن باستخدام DynamoDB بدلاً من Data API لـ Amazon Aurora Serverless v2.

مقارنة بدايات Lambda الباردة والساخنة: Data API لـ Amazon Aurora Serverless v2 vs DynamoDB

في سلسلة مقالاتي حول Lambda SnapStart، قمنا بالفعل بإجراء مثل هذه القياسات لتطبيق مماثل ولكن في المقالة يبدأ قياس الحرارة مع Java 21 باستخدام إعدادات ذاكرة Lambda المختلفة.

كلا التطبيقين Data API لـ Amazon Aurora Serverless v2 وDynamoDB متشابهان جدًا:

  • إنها توفر منطقًا لتخزين واسترجاع المنتجات من قاعدة البيانات
  • تحتوي وظائف Lambda من كلا المشروعين على إعداد ذاكرة يبلغ 1024 ميجابايت
  • تبلغ أحجام عناصر النشر حوالي 18 ميجابايت لكليهما
  • تستخدم وظائف Lambda من كلا المشروعين عميل HTTP Apache المتزامن الافتراضي للتواصل مع قواعد البيانات
  • تستخدم وظائف Lambda من كلا المشروعين بنية x86_64

الآن دعونا نجمع كل القياسات معًا.

وقت البدء البارد (ج) والدافئ (م) بالمللي ثانية:

يقترب ج ص50 ج ص 75 ج ص90 ج ص99 ج ص99.9 ج ماكس ث ص50 ث ص 75 ث ص90 ث ص99 ث ص99.9 ث ماكس
واجهة برمجة تطبيقات البيانات، لم يتم تمكين SnapStart 3154.35 3237 3284.91 3581.49 3702.12 3764.92 104.68 173.96 271.32 572.11 1482.89 2179.7
DynamoDB، لم يتم تمكين SnapStart 3157.6 3213.85 3270.8 3428.2 3601.12 3725.02 5.77 6.50 7.81 20.65 90.20 1423.63
واجهة برمجة تطبيقات البيانات، تمكين SnapStart بدون إعداد أولي 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 بدون إعداد أولي 1626.69 1741.10 2040.99 2219.75 2319.54 2321.64 5.64 6.41 7.87 21.40 99.81 1355.09
واجهة برمجة تطبيقات البيانات، تمكين SnapStart مع التمهيدي 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 مع الإعداد الأولي 702.55 759.52 1038.50 1169.66 1179.05 1179.36 5.73 6.51 7.87 21.75 92.19 328.41

خاتمة

في هذه المقالة، قمت بمقارنة قياسات أوقات البدء الباردة والساخنة لوظيفة Lambda المتصلة بقاعدة بيانات Amazon Aurora Serverless v2 PostgreSQL باستخدام Data API مقابل الاتصال بقاعدة بيانات DynamoDB لثلاث حالات استخدام:

  • بدون تمكين SnapStart في وظيفة Lambda
  • مع تمكين SnapStart في وظيفة Lambda ولكن بدون التحسين الأولي
  • مع تمكين SnapStart في وظيفة Lambda ومع إعداد طلب قاعدة البيانات

ما لاحظناه هو أن أوقات البدء الباردة دون تمكين SnapStart على وظيفة Lambda قابلة للمقارنة تمامًا لكليهما. في حالة تمكين SnapStart (بدون التمهيد وخاصةً معه)، تتمتع واجهة برمجة تطبيقات Data API لـ Amazon Aurora Serverless v2 بأوقات بدء بارد أعلى بكثير، خاصة بالنسبة للنسب المئوية >= 90. سأحتاج إلى البحث بشكل أعمق لفهم هذا الاختلاف لأنني لم أفعل ذلك نتوقع أن يكون بهذا الحجم، خاصة إذا تم تطبيق التمهيدي. ربما يكون السبب في ذلك هو أن خدمات AWS الأصلية مثل DynamoDB أكثر وعيًا بـ SnapStart ويمكنني التعامل بشكل أفضل مع استئناف الاتصال.

كانت أوقات البداية الدافئة (التنفيذ) أعلى بكثير باستمرار بالنسبة لـ Data API لـ Amazon Aurora Serverless v2 مقارنة بـ DynamoDB وهو ما توقعته أيضًا لأن DynamoDB معروف بأوقات استجابة مكونة من رقم واحد أو رقمين بالمللي ثانية.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/aws-builders/data-api-for-amazon-aurora-serverless-v2-with-aws-sdk-for-java-part-9-comparing-cold- و- Warm-starts-data-api-vs-dynamodb-2pg2?1إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3