نظرة عامة على البرنامج
مقدمة:
هندسة أداء البرمجيات واختبار الحمل، من نمذجة أعباء العمل إلى تخطيط السعة، هي موضوع هذه الدورة الممتدة أسبوع، الموجهة إلى الوحدات الهندسية التي تبني الخدمات الرقمية كثيفة الاستخدام وتختبرها وتشغلها، وتنتهي بإعداد خطة لاختبار الأداء وتخطيط السعة لجهة افتراضية. فبوابات الخدمات العامة وقنوات المصارف التي تطلق دون أدلة واقعية على تحمل الحمل تتباطأ أو تتعطل في أوقات الذروة، فتفقد ثقة المستخدمين وتضطر إلى توسعة طارئة مكلفة. ويكتب المشاركون الشيفرة أو النصوص البرمجية أو إعدادات البنية التحتية في عملهم، ويتعلمون عبر مختبرات تطبيقية بأدوات حمل مفتوحة المصدر وبيانات التتبع. وتقدم كور كونسبت هذه الدورة.
أهداف الدورة:
- تحويل أحجام المعاملات التشغيلية وأحداث الذروة إلى متطلبات أداء قابلة للقياس تعبر عنها النسب المئينية لأزمنة الاستجابة والإنتاجية ومعدلات الأخطاء
- بناء نماذج أعباء العمل من سجلات الوصول في بيئة الإنتاج، مع اختيار نموذج الوصول المفتوح أو المغلق ومزيج واقعي من المعاملات
- تصميم اختبارات الحمل والإجهاد والتحمل الطويل والذروة المفاجئة ونقطة الانهيار وكتابة نصوصها في JMeter وk6 وGatling مع ربط الجلسات وتنويع البيانات
- تشخيص الاختناقات من تتبعات APM لمراقبة أداء التطبيقات وخطط تنفيذ الاستعلامات وسجلات جمع المهملات ومقاييس مجمعات الخيوط، والتحقق من كل تعديل ضبط بإعادة الاختبار
- التنبؤ بالسعة وهامش الاحتياط بقانون Little وقانون الاستغلال، وتحويل ميزانيات الأداء إلى بوابات آلية في خطوط CI/CD
- إعداد خطة لاختبار الأداء وتخطيط السعة تنفذها وحدة التسليم قبل إطلاق الخدمة الرقمية
الفئة المستهدفة:
- وحدات اختبار الأداء المسؤولة عن تصميم اختبارات الحمل وكتابة نصوصها وتنفيذها قبل الإصدارات
- وحدات تطوير التطبيقات المسؤولة عن مسارات الشيفرة والاستعلامات والتخزين المؤقت التي تحدد زمن الاستجابة
- وحدات المنصات والبنية التحتية المسؤولة عن تحديد أحجام الخوادم والحاويات وقواعد البيانات وقواعد التوسع التلقائي
- وحدات الموثوقية والتشغيل المسؤولة عن مراقبة بيئة الإنتاج وبيانات التتبع والجاهزية لأحداث الذروة
- وحدات التسليم والإصدار المسؤولة عن قرارات الإطلاق وبوابات الجودة في خطوط النشر للخدمات الرقمية
محاور الدورة:
اليوم 1: متطلبات الأداء وتوصيف أعباء العمل وخط الأساس
- تعريف النسب المئينية لأزمنة الاستجابة والإنتاجية وعدد المستخدمين المتوازين
- استخلاص متطلبات الأداء من أحجام المعاملات التشغيلية
- تحليل سجلات الوصول في الإنتاج لبناء ملفات مزيج أعباء العمل
- نماذج أعباء العمل المفتوحة مقابل المغلقة ومعدلات الوصول
- خط أساس لمخاطر الأداء الحالية في خدمة رقمية
اليوم 2: تصميم نماذج اختبارات الحمل والإجهاد والتحمل والذروة
- اختيار ملفات اختبار الدخان والحمل المتوسط ونقطة الانهيار
- ملفات حقن الإجهاد والذروة المفاجئة لأحداث الذروة
- تصميم اختبار التحمل الطويل لكشف تسرب الذاكرة واستنزاف الموارد
- فحوص قانون Little لتحديد عدد المستخدمين الافتراضيين وإيقاع الطلبات
- مطابقة بيئة الاختبار وأحجام البيانات وتوزيع مولدات الحمل
اليوم 3: كتابة نصوص اختبارات الحمل وتنفيذها بأدوات مفتوحة المصدر
- مجموعات الخيوط والعينات والمؤقتات ومستخرجات الربط في JMeter
- السيناريوهات والمنفذات والفحوص وحدود النجاح والإخفاق في k6
- محاكاة Gatling بملفات الحقن والتأكيدات
- بيانات الاختبار المتغيرة ورموز الجلسات ونمذجة وقت التفكير
- توليد الحمل الموزع من سطر الأوامر وتجميع النتائج
اليوم 4: تشخيص الاختناقات والضبط وبوابات الأداء في خطوط النشر
- تحليل تتبعات المعاملات في APM وتفكيك الامتدادات الموزعة
- خطط تنفيذ الاستعلامات ومجمعات الاتصال وضبط الفهارس
- توقفات جمع المهملات في JVM وتحديد حجم الذاكرة ومجمعات الخيوط
- قانون الاستغلال ونماذج الطوابير للتنبؤ بالسعة
- ميزانيات الأداء في CI/CD وحدود بوابات التراجع
اليوم 5: مختبر ختامي لخطة اختبار الأداء وتخطيط السعة
- بناء نموذج أعباء العمل وسيناريو الذروة للخدمة الرقمية في الحالة
- تنفيذ اختبار الحمل للحالة وتحليل النتائج بالنسب المئينية
- تقرير الاختناقات في الحالة مع إجراءات ضبط تم التحقق منها
- التنبؤ بالسعة للحالة وأهداف هامش البنية التحتية
- استكمال خطة اختبار الأداء وتخطيط السعة ومراجعتها
المهارات التي ستكتسبها:
- نمذجة أعباء العمل
- كتابة نصوص اختبار الحمل
- هندسة متطلبات الأداء
- تشخيص الأسباب الجذرية للاختناقات
- ضبط قواعد البيانات وبيئات التشغيل
- التنبؤ بالسعة بنماذج الطوابير
- حوكمة ميزانيات الأداء
- تفسير نتائج الاختبار
لماذا تحضر هذه الدورة:
- تقديم خطة اختبار الأداء وتخطيط السعة إلى مالك الخدمة ورئيس هندسة المنصات قبل الإطلاق
- الحكم على جاهزية الخدمة الرقمية للإطلاق بناء على نتائج النسب المئينية مقارنة بالحدود المتفق عليها
- تجنب التباطؤ والانقطاع يوم الإطلاق والإنفاق الطارئ على البنية التحتية بسبب ذروة حركة لم تختبر
- نقل نصوص الحمل القابلة لإعادة الاستخدام وأوراق عمل نماذج الأعباء وقوائم فحص الاختناقات إلى فرق التطوير والتشغيل
الخاتمة:
بعد العودة إلى العمل يعرض المشارك على مالك الخدمة ورئيس هندسة المنصات خطة لاختبار الأداء وتخطيط السعة تحدد نماذج أعباء العمل وملفات الاختبار وحدود النسب المئينية وهامش البنية التحتية للخدمة الرقمية. ويستند مديرو الإصدارات إلى الخطة في اتخاذ قرار الإطلاق، وتستخدم وحدات المنصات تنبؤاتها في تحديد أحجام الخوادم وقواعد التوسع التلقائي قبل أحداث الذروة. وبعد أول إطلاق أو أول ذروة موسمية، تقارن الوحدة الحركة الفعلية وزمن الاستجابة واستهلاك الموارد بما ورد في الخطة ثم تعدل نموذج أعباء العمل.
الأسئلة الشائعة:
ما الذي يحتاجه المشارك قبل دورة هندسة أداء البرمجيات واختبار الحمل؟
يحتاج المشارك إلى خبرة في كتابة شيفرة التطبيقات أو نصوص الاختبار أو إعدادات البنية التحتية، وإلى قراءة طلبات HTTP والسجلات الأساسية. ويفيده إحضار سجلات وصول مجهولة الهوية أو أرقام حركة من خدمة يدعمها لبناء نموذج أعباء عمل واقعي في المختبرات.
بم تختلف دورة هندسة أداء البرمجيات واختبار الحمل عن دورات اختبار البرمجيات العامة؟
تغطي دورات اختبار البرمجيات العامة تصميم الاختبارات الوظيفية وإدارة العيوب والأتمتة لكل أنواع الاختبار. أما هذه الدورة فتركز على سلوك النظام تحت الحركة: نمذجة أعباء العمل وكتابة نصوص أدوات الحمل وتشخيص الاختناقات من التتبعات والتنبؤ بالسعة بنماذج الطوابير وبوابات الأداء في خطوط النشر.
ما أنواع الاختبارات التي تعتمد عليها هندسة أداء البرمجيات واختبار الحمل؟
تعتمد على اختبارات الدخان والحمل المتوسط والإجهاد والذروة المفاجئة والتحمل الطويل ونقطة الانهيار، ولكل منها سؤال مختلف. فالحمل المتوسط يؤكد السلوك المتوقع، والإجهاد والذروة يختبران الحدود القصوى، والتحمل يكشف التسرب في التشغيل الطويل، ونقطة الانهيار تحدد حد السعة.
ماذا يعود به المشارك من دورة هندسة أداء البرمجيات واختبار الحمل؟
يعود المشارك بخطة لاختبار الأداء وتخطيط السعة لخدمة رقمية افتراضية، تضم نموذج أعباء العمل وملفات الاختبار المكتوبة وحدود النسب المئينية ونتائج الاختناقات وتنبؤات السعة، إلى جانب نصوص وأوراق عمل قابلة لإعادة الاستخدام يمكن تكييفها مع خدمات جهته.