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

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

استبيان جمع المتطلبات

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

لا موضوع الاسئله
1 تطبيق نوع التطبيق الذي سيتم النظر فيه للاختبار (على سبيل المثال ، تطبيق الويب / تطبيق الهاتف المحمول ، وما إلى ذلك).
2 بنية التطبيق والتكنولوجيا / النظام الأساسي.
3 تقنية موازنة الحمل المستخدمة.
4 بروتوكول الاتصال بين العميل والخادم (على سبيل المثال: HTTP / S ، FTP).
5 هدف اختبار الأداء. مقاييس الأداء التي يجب مراقبتها (على سبيل المثال ، وقت الاستجابة لكل إجراء من الإجراءات ، والمستخدمين المتزامنين ، وما إلى ذلك).
6 السيناريوهات الحرجة التي يجب مراعاتها لاختبار الأداء.
7 تفاصيل الوظائف / العمليات المجدولة الخلفية ، إن وجدت.
8 التقنية المستخدمة لإدارة الجلسة وعدد الجلسات المتوازية المدعومة.
 
9 اتفاقية مستوى الخدمة / متطلبات العميل العدد المتوقع للمستخدمين المتزامنين وإجمالي قاعدة المستخدمين. توزيع المستخدم للسيناريوهات في النطاق.
10 اتفاقية مستوى الخدمة لجميع المعاملات في نطاق PT (الإنتاجية المتوقعة ، وقت الاستجابة ، إلخ).
11 أنواع اختبارات الأداء التي يتعين إجراؤها (اختبار الحمل ، اختبار التحمل ، إلخ).
 
12 النظام/البيئة تفاصيل بيئة الاختبار (الويب / التطبيق / قاعدة البيانات ، وما إلى ذلك ، إلى جانب عدد العقد). بيئة شبيهة بالإنتاج موصى بها لتنفيذ اختبار الأداء.
13 مقارنة بين بيئة الإنتاج وبيئة اختبار الأداء.
14 ما إذا كان سيتم عزل التطبيق أثناء تنفيذ اختبار الأداء لتجنب التفاعل مع التطبيقات الأخرى.
15 تفاصيل آلية التسجيل المدمجة أو آلية المراقبة.
 
16 الاخرين نتائج خط الأساس لأداء التطبيق.
17 مشاكل الأداء الحالية ، إن وجدت.

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

ابحث عن أداة اختبار أداء مناسبة

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

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

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

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

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

خطة / استراتيجية اختبار الأداء

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

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

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

البرامج النصية / سيناريوهات الأداء في الوقت الفعلي

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

العناصر النقطية التالية هي بعض النقاط التي نحتاج إلى تذكرها لإنشاء نصوص برمجية عالية الجودة:

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

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

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

يمكن الحصول على إجابات للأسئلة المذكورة أعلاه من خلال استبيان جمع المتطلبات أو البيانات الإحصائية التي تم جمعها بمساعدة أدوات تحليلات الويب مثل أدوات APM / Google Analytics. يسمح تحليل المعاملات بالعثور على المعاملات التجارية المهمة وتصميم سيناريوهات اختبار الأداء التي سيتم استخدامها لتنفيذ اختبار الأداء.

نمذجة عبء العمل

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

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

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

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

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

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

جمع البيانات

فيما يلي بعض المقاييس المهمة جدا التي يجب ملاحظتها أثناء نمذجة عبء عمل الأداء.

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

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

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

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

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

استخدام وحدة المعالجة المركزية: مثل الذاكرة وتحتاج إلى مراقبة هذه المقاييس أثناء إجراء اختبارات الأداء.

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

المستخدمون المتزامنون: نحتاج إلى العثور على هذه القيمة من أدوات APM أو بمساعدة سجلات الإنتاج. عادة ، نجد هذه القيمة بناء على يوم عمل نموذجي.

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

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

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

قائمة التحقق لبيئة اختبار الأداء (قبل التنفيذ)

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

قائمة مراجعة اختبار الأداء

الخلاصة: قائمة مراجعة إعداد اختبار الحمل

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

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

أو قم بالتسجيل في الإصدار التجريبي المجاني من LoadView لبدء تشغيل اختبارات التحميل الآن. سنقدم لك اختبارات تحميل مجانية للبدء! اختبار تحميل سعيد!