في المقالة الأولى من سلسلتنا الصغيرة، اكتشفنا كيفية تطوير وظيفة Lambda ونشرها باستخدام Docker Container Image ووقت تشغيل Java. لقد استكشفنا حالتي استخدام:
سنقوم في هذه المقالة بقياس بدايات التشغيل الباردة والساخنة لوظيفة Lambda باستخدام صورة حاوية Docker الأساسية لـ AWS Lambda.
بالنسبة لقياساتنا، سنستخدم نموذج التطبيق الخاص بنا من الجزء الأول وسنستخدم وقت تشغيل Java 21 لوظائف Lambda الخاصة بنا. بالنسبة لجميع وظائف Lambda، نوفر ذاكرة تبلغ 1024 ميجابايت ونستخدم JAVA_TOOL_OPTIONS: "-XX: TieredCompilation -XX:TieredStopAtLevel=1" حيث يوفر خيار التجميع هذا تبادلًا جيدًا للغاية بين أوقات البدء الباردة والدافئة.
استندت نتائج التجربة أدناه إلى إعادة إنتاج أكثر من 100 بداية باردة وحوالي 100.000 بداية دافئة لمدة ساعة واحدة باستخدام وظيفة Lambda GetProductByIdWithPureJava21GraalVMNativeImageLambda التي تم تعيينها إلى فئة معالج Java Lambda المسؤولة عن استرداد المنتج (المخزن) في DynamoDB) بواسطة المعرف. لقد استخدمت أداة اختبار التحميل من أجل ذلك، ولكن يمكنك استخدام أي أداة تريدها، مثل المدفعية بدون خادم أو ساعي البريد.
وقت البدء البارد (ج) والدافئ (م) بالمللي ثانية:
ج ص50 | ج ص 75 | ج ص90 | ج ص99 | ج ص99.9 | ج ماكس | ث ص50 | ث ص 75 | ث ص90 | ث ص99 | ث ص99.9 | ث ماكس |
---|---|---|---|---|---|---|---|---|---|---|---|
3093.26 | 3219.44 | 3314.12 | 4632.16 | 6513.35 | 6517.71 | 5.47 | 6.20 | 7.39 | 17.14 | 43.03 | 1386.07 |
في هذه المقالة، قمنا بقياس أوقات البدء الباردة والساخنة لوظيفة Lambda باستخدام صورة حاوية Docker الأساسية لـ AWS Lambda. لقد شهدنا بداية باردة كبيرة جدًا وأوقات بدء دافئة تنافسية للغاية مقارنة بقياس البدايات الباردة والدافئة مع Java 21 باستخدام إعدادات ذاكرة Lambda المختلفة لـ Lambda بذاكرة 1024 ميجابايت ووقت التشغيل المُدار لـ Lambda Java 21.
AWS Lambda SnapStart الذي يقلل بشكل كبير من أوقات البدء البارد متاح حاليًا فقط لأوقات التشغيل المُدارة لـ Java Corretto (11 و17 و21) وليس لصور حاوية Docker. يمكنك استكشاف أداة jlink لتجميع وتحسين مجموعة من الوحدات النمطية وتبعياتها في صورة وقت تشغيل مخصصة أصغر ومشاركة بيانات الفئة (CDS) على الرغم من أنها تساعد في تقليل وقت بدء تشغيل تطبيقات لغة برمجة Java، ولا سيما التطبيقات الأصغر حجمًا، بالإضافة إلى تقليل البصمة. تتمثل ميزة استخدام Docker Image كأداة نشر لـ Java في القدرة على استخدام وقت تشغيل Java الحديث مثل Java 22 (سيتم إصدار Java 23 في سبتمبر 2024).
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3