Performance Testing - اختبارات الأداء
Chapters
- مقدمة وأنواع اختبارات الأداء والضغط
- إعداد بيئة اختبار تحاكي Production
- تصميم سيناريوهات الاختبار وتقدير حجم الترافيك
- أدوات اختبارات الأداء وتوزيع الحمل
- المقاييس وتتبع الطلبات لتحديد نقاط الاختناق
- استخدام Profiling لتحليل بطء الكود
- مقارنة التقنيات وShadow Testing والانتقال التدريجي
- تجارب عملية: Garbage Collection وكفاءة الموارد
- تحمل الأعطال وChaos Engineering واختبار Failover
- متى نختبر الأداء؟ فحوص الإصدارات والنشر التدريجي
- التوسع الأفقي وحدود قابلية التوسع
- دور الذكاء الاصطناعي في توقع الحمل وتوليد السيناريوهات
- أخطاء الأداء الشائعة: الكاش وN+1 وPagination
- تأثير الأمان وسجلات التدقيق على الأداء
- أسئلة ختامية: HLS والتحقق من التوكن
About this episode
كيف تعرف حدود نظامك قبل أن يكشفها ضغط المستخدمين؟ في هذه الحلقة من بودكاست AskDeveloper، يناقش أحمد الإمام ومحمد الشريف اختبارات الأداء، مع التركيز على خدمات الباك إند وواجهات API. يوضحان الفرق بين اختبارات الحمل والضغط والتحمل الطويل والقفزات المفاجئة، وكيف تختار الاختبار بحسب السؤال الذي تريد الإجابة عنه. ينتقل الحوار إلى بناء بيئة اختبار منفصلة تمثل الإنتاج، وتصميم حركة طلبات واقعية، وربط قياسات العميل والخادم بالسجلات والتتبع لتحديد نقاط الاختناق. ومن خلال تجارب عملية، يتناولان أثر جمع الذاكرة والكاش واستعلامات قواعد البيانات، وكيفية مقارنة بدائل تقنية باستخدام إعادة تشغيل الطلبات واختبارات الظل، ثم الانتقال التدريجي للإنتاج. وتؤكد الحلقة أن الهدف ليس جمع الرسوم البيانية، بل اتخاذ قرارات مبنية على قياسات بشأن السعة والتكلفة والاستقرار.
Discussion highlights
- الفرق بين Load Test وStress Test وSoak Test وSpike Test، وزيادة الحمل تدريجيًا لمعرفة حدود السعة.
- إعداد بيئة اختبار منفصلة: مطابقة مواصفات الأجهزة، وتقليل عدد النسخ بدل تغيير مواصفات النسخة الواحدة، واستخدام بيانات ممثلة للواقع.
- تصميم سيناريوهات الاختبار وفق رحلات المستخدم وتوقعات المنتج والتسويق، والتحكم في شكل الترافيك وتوزيع مولدات الحمل جغرافيًا.
- مقارنة قياسات العميل والخادم، واستخدام السجلات والتتبع الموزع وProfiling لتحديد موضع التأخير بدل تحسين الجزء الخطأ.
- مراقبة استهلاك الذاكرة وتوقفات Garbage Collection، وتشخيص استعلامات N+1 وغياب Pagination وتأثير الكاش على تحمل قاعدة البيانات.
More from this conversation
- مقارنة قواعد البيانات والتقنيات داخل سياق النظام الفعلي، وإعادة تشغيل طلبات الإنتاج مع الانتباه للبيانات الخاصة ومفاتيح الأمان.
- استخدام Traffic Mirroring وShadow Testing، وتحديات مزامنة البيانات والكتابة المزدوجة قبل تحويل الترافيك تدريجيًا إلى النظام الجديد.
- موازنة السعة والتكلفة، وأهمية زمن بدء الخدمات، وحدود التوسع الأفقي عندما تصبح قواعد البيانات أو الخدمات التابعة نقطة اختناق.
- اختبار الفشل والتحويل الاحتياطي دوريًا، والتحقق من معايير الأداء قبل الإصدارات الرئيسية ومراقبة النشر التدريجي.
- أثر متطلبات الأمان والمصادقة وسجلات التدقيق على الأداء، واختلاف الضمانات المطلوبة بحسب حساسية العملية.



