ما هو اختبار الحجم؟ تعلم مع الأمثلة

⚡ ملخص ذكي

يُخضع اختبار الحجم التطبيق لكمية هائلة من البيانات لمعرفة كيفية استجابة التخزين والاستعلامات وأوقات الاستجابة مع نمو قاعدة البيانات. يُعرف هذا الاختبار أيضاً باختبار الفيضان، وهو يُركز على حجم البيانات بدلاً من عدد المستخدمين.

  • 💾 التعريف الأساسي: يتم زيادة حجم البيانات بينما يبقى حمل المستخدم طبيعياً.
  • 🔍 الفحوصات الأساسية: فقدان البيانات، والكتابة الصامتة فوقها، ودقة التخزين، ووقت الاستجابة في ظل مجموعة بيانات كبيرة.
  • 📈 نقطة التدهور: يحدد الاختبار الحجم الذي يبدأ عنده الاستقرار والأداء بالتراجع.
  • 🇧🇷 لا يتم إجراء اختبار التحميل: يُحدد حجم البيانات عدد الصفوف وأحجام الملفات، بينما يُحدد الحمل عدد المستخدمين المتزامنين. ويكشف كل منهما عن عيوب مختلفة.
  • 🧪 واقعية البيانات: يجب أن تحترم البيانات المولدة المفاتيح وسلامة العلاقات، وهو الجزء الأصعب من الاختبار.
  • تقريبا قضية أعمال: إن تحديد حدود الطاقة الإنتاجية قبل الإصدار يكلف جزءًا بسيطًا من نفس القيود التي تم تحديدها أثناء الإنتاج.

ما هو اختبار الحجم؟

ما هو اختبار الحجم؟

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

بمساعدة اختبار الحجم، يمكن دراسة التأثير على وقت الاستجابة وسلوك النظام عند التعرض لكمية كبيرة من البيانات.

على سبيل المثال، قد يتم اختبار خدمة بث الموسيقى بكتالوج يضم 50 مليون أغنية tracks وجدول سجل الاستماع الذي يحتوي على مليارات الصفوف، لمعرفة ما إذا كانت استعلامات البحث والتوصية لا تزال تعود في وقت مقبول.

لاحظ الفرق: يزيد اختبار الحجم من كمية البيانات النظام متماسك. زيادة عدد المستخدمين المتزامنين اختبار التحميل، وهو اختبار مختلف ذو هدف مختلف.

فوائد اختبار الحجم

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

لماذا يتم إجراء اختبارات الحجم؟

الهدف من إجراء اختبار الحجم هو

  • التحقق من أداء النظام مع زيادة حجم البيانات في قاعدة البيانات
  • حدد المشكلات التي من المحتمل أن تظهر بمجرد أن تصبح مجموعة البيانات كبيرة
  • لمعرفة النقطة التي يتدهور عندها استقرار النظام
  • سيساعد اختبار الحجم في تحديد قدرة النظام أو التطبيق - الحجم العادي والثقيل

كيفية إجراء اختبار الحجم

في اختبار الحجم، هناك حاجة إلى اختبار الأشياء التالية

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

أفضل الممارسات لاختبار الحجم الكبير

تتشابه العديد من الممارسات المذكورة أدناه مع اختبارات التحميل، لأن كليهما يُجرى عادةً على نفس البيئة. أما الممارسات الخاصة بحجم البيانات فتتعلق بمجموعة البيانات نفسها.

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

اختبار الحجم مقابل اختبار الحمل

اختبار الحجم اختبار الحمل
  • يختبر اختبار الحجم كيفية عمل التطبيق عندما تحتوي قاعدة البيانات على كمية كبيرة جدًا من البيانات
  • أثناء اختبار التحميل، يخضع التطبيق لمستوى معين من التحميل لتحليل سلوك التطبيق
  • يتحقق اختبار حجم البيانات من أن النظام لا يزال يستجيب بشكل صحيح عند حجم بيانات معين. وعادةً ما يزيد من حجم الملفات والجداول.
  • تتحقق اختبارات التحميل من الأداء مع ازدياد حمل المستخدمين المتزامنين. وعادةً ما تزيد من عدد الطلبات المتزامنة.

التحديات في اختبار الحجم

  • تجزئة الذاكرة يصعب توليدها
  • الجيل الديناميكي للمفاتيح
  • قصصي Integrity من البيانات التي تم إنشاؤها

كيف يقارن هذا الاختبار باختبارات الأداء الأخرى

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

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

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

كيفية توليد بيانات الاختبار لاختبار الحجم

يشير قسم التحديات إلى أن توليد بيانات واقعية هو الجزء الأصعب من اختبار الحجم. تُستخدم أربعة مناهج عمليًا، ولكل منها مزايا وعيوب.

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

أياً كان المسار الذي تسلكه، يجب أن تتحقق ثلاث خصائص وإلا فإن الاختبار لا يقيس شيئاً مفيداً.

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

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

الأسئلة الشائعة

يزيد اختبار الحجم من كمية البيانات في النظام مع بقاء حمل المستخدمين طبيعيًا. بينما يزيد اختبار الحمل من عدد المستخدمين المتزامنين مع بقاء مجموعة البيانات طبيعية. يكشف كل منهما عن نقاط اختناق مختلفة، لذا فكلاهما ضروري.

ابدأ بحجم البيانات المتوقع في نهاية أفق القدرة المخطط لها، والذي يتراوح عادةً بين سنتين إلى ثلاث سنوات من النمو، ثم اختبر عند هذا الرقم وعند ضعفه لمعرفة أين يبدأ التدهور.

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

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

نعم، إلى حد ما. النماذج التي تُطابق منحنيات التدهور المقاسة تستنبط نقطة الفشل، ولكن يجب تأكيد هذا التوقع من خلال تشغيل فعلي قبل أن يُتخذ قرار بشأن السعة.

تلخيص هذه التدوينة بـ: