عندما يتعلق الأمر باختبار التحميل ، هناك دائما سؤال بقيمة مليون دولار ، “من حيث الأداء ، ماذا يريد العميل أن يفعل بتطبيقه ونظامه؟” أنا متأكد من أنك لن تحصل أبدا على إجابة سهلة على هذا السؤال ، ومعظمنا يفترض دائما بعض الأشياء ويقوم بإجراء اختبار الأداء ، والذي قد ينتهي به الأمر إلى فقدان اختبار القطع المهمة ، وينتهي به الأمر مع عميل غير سعيد. العميل غير السعيد يعني فقدان العمل لمؤسستك وتراجع مهنتك كمهندس أداء. ولكن لا تقلق ، في هذه المقالة سنتحدث عن إنشاء قائمة مرجعية ستساعدك في هذه الأسئلة.
تشبه قائمة التحقق هذه عملية خطوة بخطوة يمكنك اتباعها والتكيف مع دورة حياة اختبار الأداء الخاصة بك. في السيناريو الذي تمت مناقشته ، لا يمكننا دائما إلقاء اللوم على عملائنا ، لأنهم في البداية قد لا يعرفون نتائج الأداء الدقيقة التي يريدونها ، ولكن لديهم معرفة واضحة حول كيفية عمل التطبيق في ظل ظروف مختلفة. يمكن لاختبار الأداء الجيد إدارة هذا الغموض من خلال استبيان محدد جيدا. وهذا هو البند الأول في القائمة المرجعية، وهو الاستبيان الذي يجمع المتطلبات.
استبيان جمع المتطلبات
فيما يلي تنسيق الاستبيان الذي يمكنك اتباعه في مشروعك. نحتاج إلى الحصول على أكبر عدد ممكن من الإجابات لهذه الأسئلة. سيكون من الأفضل إذا كان بإمكانك إجراء مكالمة لمناقشة هذه الأسئلة. تأكد من انضمام مهندس التطبيق أو مطوره إلى المكالمة معك ومع العميل. يمكن أن يساعد وجود موظفين إضافيين في توفير نظرة ثاقبة والكشف عن الأسئلة التي ربما لم تفكر فيها من قبل. توفر لك الأسئلة أدناه خريطة طريق لإنشاء اختبار تحميل أكثر كفاءة وفعالية.
لا | موضوع | الاسئله |
1 | تطبيق | نوع التطبيق الذي يجب مراعاته للاختبار (على سبيل المثال ، تطبيق الويب / تطبيق الهاتف المحمول ، وما إلى ذلك). |
2 | بنية التطبيق والتكنولوجيا / المنصة. | |
3 | تقنية موازنة الأحمال المستخدمة. | |
4 | بروتوكول الاتصال بين العميل والخادم (على سبيل المثال: HTTP/S، FTP). | |
5 | هدف اختبار الأداء. مقاييس الأداء التي يجب مراقبتها (على سبيل المثال ، وقت الاستجابة لكل إجراء من الإجراءات ، والمستخدمين المتزامنين ، وما إلى ذلك). | |
6 | سيناريوهات حرجة يجب مراعاتها لاختبار الأداء. | |
7 | تفاصيل الوظائف / العمليات المجدولة في الخلفية ، إن وجدت. | |
8 | التقنية المستخدمة لإدارة الجلسات وعدد الجلسات المتوازية المدعومة. | |
9 | اتفاقية مستوى الخدمة / متطلبات العميل | العدد المتوقع للمستخدمين المتزامنين وإجمالي قاعدة المستخدمين. توزيع المستخدم للسيناريوهات في النطاق. |
10 | اتفاقية مستوى الخدمة لجميع المعاملات في نطاق PT (الإنتاجية المتوقعة ، وقت الاستجابة ، إلخ). | |
11 | أنواع اختبارات الأداء التي يتعين إجراؤها (اختبار الحمل ، اختبار التحمل ، إلخ). | |
12 | النظام/البيئة | تفاصيل بيئة الاختبار (الويب / التطبيق / DB ، وما إلى ذلك ، إلى جانب عدد العقد). بيئة تشبه الإنتاج موصى بها لتنفيذ اختبار الأداء. |
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 بالمائة من جميع القيم الأخرى أقل من 90 في المائة. فقط 10 في المئة من وقت الاستجابة سيكون أعلى من 90 في المئة من القيمة. سيكون هذا مفيدا إذا كان بعض طلبك يحتوي على وقت استجابة كبير وأنها تحرف متوسط نتيجة وقت الاستجابة.
الطلبات في الثانية: نحتاج إلى العثور على هذه القيمة من أدوات APM أو بمساعدة سجلات الإنتاج. استنادا إلى المستخدمين المتزامنين ، يمكننا التخطيط للطلب في الثانية إلى الخادم.
استخدام الذاكرة: هذه هي مقاييس جانب البنية التحتية التي تساعدك على الكشف عن الاختناقات. أيضا ، يجب عليك تخطيط عبء العمل الخاص بك في الوقت الحقيقي قدر الإمكان. تأكد من أننا لا نقصف الخادم بطلبات مستمرة.
استخدام وحدة المعالجة المركزية: نفس الذاكرة وتحتاج إلى أن تكون العين على هذه المقاييس أثناء تشغيل اختبارات الأداء.
معدل الخطأ: يجب أن نتتبع نسبة المعاملات التي تم تمريرها / الخطأ. يجب ألا يزيد معدل الخطأ عن 2 في المائة من المعاملات التي تم تمريرها. إذا كانت معدلات الخطأ تزداد مع تزايد المستخدمين المتزامنين ، فقد يكون هناك عنق زجاجة محتمل.
المستخدمون المتزامنون: نحتاج إلى العثور على هذه القيمة من أدوات APM أو بمساعدة سجلات الإنتاج. عادة ، نجد هذه القيمة بناء على يوم عمل نموذجي.
الانتاجيه: ستظهر الإنتاجية سعة الخادم للتعامل مع المستخدمين المتزامنين. هناك اتصال مباشر بين المستخدمين المتزامنين مقابل الإنتاجية. يجب زيادة الإنتاجية مع زيادة عدد المستخدمين للوصول إلى التطبيق. إذا كانت الإنتاجية تتناقص مع زيادة عدد المستخدمين ، فهذا مؤشر محتمل على وجود اختناقات.
توزيع تحميل المستخدم: يعد توزيع حمل المستخدم أحد العوامل المهمة التي يجب مراعاتها أثناء تصميم عبء العمل. إذا كان لدينا خمسة برامج نصية تنفذ خمس وظائف مختلفة لأحد التطبيقات ، فنحن بحاجة إلى تقسيم حمل المستخدم إلى حقيقي قدر الإمكان بناء على تحقيقنا في أدوات الإنتاج أو APM.
هذه مقاييس مهمة للغاية يجب أن نضعها في اعتبارنا أثناء تصميم نموذج عبء العمل. ستكون هناك مقاييس أخرى بالإضافة إلى الاعتماد على بنية تطبيق العميل ومتطلباته.
قائمة مرجعية لبيئة اختبار الأداء (قبل التنفيذ)
عادة ما يتبع مثال قائمة المراجعة أدناه اختبار أداء شامل على مستوى المؤسسة ، حيث يوجد عدد كبير من الأنظمة المعنية. يوصى دائما باتباع قائمة مرجعية للبيئة لاختبار الأداء على نطاق صغير أيضا. ستتغير الأنشطة بناء على بيئات التطبيق ، حيث يوجد فرق كبير عند مقارنتها بالتطبيق على السحابة مقابل التطبيق المحلي.
الاستنتاج: قائمة مرجعية لإعداد اختبار الحمل
لا يحدث اختبار أداء البرامج الناجح عن طريق الصدفة. يجب على المهندسين المعماريين ومالكي المنتجات والمطورين وفريق اختبار الأداء العمل معا ومعالجة متطلبات اختبار الأداء قبل تقييم البرنامج. للحصول على خلفية أكثر تفصيلا حول منصة LoadView ، اقرأ مقالة النظرة العامة الفنية لمعرفة كيف يمكنك الاستفادة من اختبار الأداء إلى أقصى حد. يجب أن يكون اختبار الأداء عملية مستمرة. عندما يبدأ موقع الويب الخاص بك أو تطبيق الويب الخاص بك في النمو ، ستحتاج إلى إجراء تغييرات لاستيعاب قاعدة مستخدمين أكبر. هناك دائما فرصة للتحسين في أي تطبيق واختبارات.
نأمل أن يمنحك هذا نظرة ثاقبة جيدة حول أفضل الممارسات في اختبار الأداء. إذا كنت ترغب في الحصول على عرض توضيحي كامل لحل LoadView ، فقم بالتسجيل للحصول على عرض توضيحي مع مهندس أداء. سوف يأخذونك خطوة بخطوة خلال كل جزء من العملية ، من إنشاء البرامج النصية لاختبار الحمل وتكوين الاختبار ، إلى اختبار التنفيذ وتحليل النتائج.
أو اشترك في الإصدار التجريبي المجاني من LoadView لبدء تشغيل اختبارات التحميل الآن. سنقدم لك 20 دولارا في أرصدة اختبار التحميل المجانية للبدء! اختبار تحميل سعيد!