محتويات الدورة
جودة البرمجيات
أساسي: الاستدلال وتصميم الاختبار
متوسط: أدلة المنتج المتكامل
متقدم: الاستراتيجية والصمود والقيادة

جودة البرمجيات / متقدم: الاستراتيجية والصمود والقيادة / الدرس 15

تجارب الأداء والاستعادة من الإخفاق

صمّم تجارب أداء محدودة بافتراضات حمل واقعية وفحوص صحة. استخدم قياسات مصطنعة لفهم مئينات التأخير والتشبع والاستعادة دون إرسال حمل إلى أنظمة حية.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • تحديد الحمل والقياسات وشروط القبول.
  • تفسير المئينات والأخطاء معاً.
  • فحص الصحة أثناء التدهور والاستعادة.

يحتاج ادعاء الأداء إلى شروط

عبارة «تدعم البوابة ألف مستخدم» ناقصة؛ إذ تؤثر الجلسات المتزامنة ومعدل الوصول وطلبات الرحلة وحجم البيانات ووقت التفكير والعتاد في المعنى. حدّد حملاً ممثلاً بنسب القراءة والكتابة وبيانات واقعية، واتفق على أهداف التأخير والخطأ لعمليات معينة. ميّز اختبار الحمل المتوقع والإجهاد فوق السعة والاستمرار زمناً طويلاً. تستخدم الدورة أمثلة مصطنعة محدودة فقط. عملياً حدّد النطاق والموارد لبيئة معزولة قبل الحمل، وتوقف إن أضر باعتمادات مشتركة.

حالة محلولة: ذيل بطيء مخفي

تأمل 20 زمناً مصطنعاً: 19 طلباً تستغرق 100 مللي ثانية وطلباً يستغرق 2,100. المتوسط 200 والأقصى 2,100. بطريقة أقرب رتبة يكون p95 القيمة التاسعة عشرة المرتبة، أي 100، وp99 العشرين، أي 2,100. حدّد طريقة المئين وحجم العينة. توضح البيانات الصغيرة كيف يخفي المتوسط طلباً بطيئاً وكيف تكون تقديرات الذيل القليلة غير مستقرة. ولا تثبت مئين إنتاج أو قبول النتيجة البطيئة.

python حساب مئينات مصطنع دون حركة شبكة
from math import ceil
values = sorted([100] * 19 + [2100])
def nearest_rank(percent):
    return values[ceil(percent / 100 * len(values)) - 1]
assert sum(values) / len(values) == 200
assert nearest_rank(95) == 100
assert nearest_rank(99) == 2100

مع 20 ملاحظة فقط يكون p99 هو الأقصى بهذه الطريقة. تحتاج تقديرات الذيل المفيدة إلى عينات ممثلة أكبر.

فحص التجربة قبل تفسير النتائج

وثّق الإعداد والبيانات والمخبأ وسياسة الإحماء والمدة وحدود مولد الحمل. قد يوهم مولد متشبع بسرعة الخدمة لأنه لا يرسل العمل المقصود. يبطئ العملاء ذوو الحلقة المغلقة الوصول مع بطء الاستجابة، فيخفون نمط طلب يكشفه معدل وصول ثابت. افحص الوصول المحقق والإنتاجية والأخطاء والمهلات والموارد معاً. يستبعد حذف الطلبات الفاشلة من التأخير دون بيان تكرارها جزءاً مهماً من الصحة. أبقِ تحققات الصحة فعالة كي لا تُعد إجابة خاطئة سريعة تحسيناً ناجحاً.

حالة محلولة: مهلة مع كتابة مكتملة

في سيناريو محلي مضبوط تعتمد كتابة الحجز لكن تنتهي مهلة استجابة الاعتماد، ثم يعيد العميل المحاولة. توقّع حجزاً واحداً على الأكثر وعدد مقاعد متسقاً وحالة مفهومة بعد الاستعادة. قِس زمن الوصول لنتيجة مستقرة قابلة للاستخدام بجانب زمن الاستجابة الأولى. وحاكِ منفصلاً غياب الاعتماد قبل أي كتابة وتوقّع رفضاً آمناً أو حالة انتظار حسب العقد. تميز الحالات صمود نتائج المستخدم عن مجرد توفر صفحة، وتحتاج فحص الحالة صراحة بعد إزالة العطل.

مقارنة النتائج دون مبالغة

قارن البناءين بشروط متكافئة وافحص التباين قبل نسبة فرق صغير للتغيير. تجاوز الحد دليل يستدعي التحقيق لا إثبات تلقائي لاختناق معين. اربط البطء بإشارات موارد أو آثار مناسبة ثم نفّذ تجربة مركزة تميز الفرضيات. وثّق حدوداً مثل بيانات أصغر أو مزودين محاكيين. تقدم مواصفة W3C لتوقيت التنقل مفاهيم قياس متصفح، لكن استجابة الخادم وقابلية استخدام العرض واكتمال العملية التجارية نهايات مختلفة. اختر ما يطابق وعد المستخدم وسم المواصفات المسودة بدقة.

الأخطاء الشائعة وإصلاحها

الإبلاغ عن متوسط التأخير فقط

لماذا يحدث؟
إخفاء تجربة الذيل والأخطاء.
كيف تصلحه؟
الإبلاغ عن حجم العينة والمئينات والفشل والحمل معاً.
كيف تتجنب تكراره؟
تحديد نهايات القياس وطريقته قبل التنفيذ.

احتساب أخطاء سريعة نجاح أداء

لماذا يحدث؟
استبعاد الصحة من تعريف النجاح.
كيف تصلحه؟
اشتراط نتائج تجارية صحيحة وبيان الأخطاء منفصلة.
كيف تتجنب تكراره؟
إدراج تحققات وظيفية في سيناريوهات الأداء.

الحكم على الاستعادة باستجابة الصفحة الرئيسية فقط

لماذا يحدث؟
إغفال الآثار الدائمة وإكمال المستخدم.
كيف تصلحه؟
فحص الحالة بعد الاستعادة وإكمال المهمة المتأثرة.
كيف تتجنب تكراره؟
تحديد مرجع استعادة لكل عملية حرجة.

اختبر فهمك

1. انخفض متوسط التأخير وتضاعفت المهلات. هل تحسن النظام؟

اعرض الحل المشروح

لا يكفي الدليل لهذا الادعاء. افحص حذف الطلبات المنتهية المهلة من التأخير، وقارن الحمل المحقق نفسه والذيل وإكمال المهمة الناجح. قد يتزامن متوسط أقل للناجين مع تجربة مستخدم أسوأ.

2. ماذا تلاحظ حالة استعادة الحجز بعد إعادة المحاولة؟

اعرض الحل المشروح

لاحظ هوية حجز مستقرة وأثراً دائماً واحداً ومقاعد صحيحة وحالة مرئية تطابق التخزين. إذا اكتمل الأصل قبل المهلة فلا تكرر الإعادة أثره وفق العقد. أدرج مدة الاستعادة إن كانت جزءاً من المتطلب.

أهم ما تعلمته

  • يتطلب دليل الأداء الحمل والصحة والأخطاء وسياق القياس.
  • تعني الاستعادة إرجاع نتيجة متسقة قابلة للاستخدام.

المراجع الرسمية