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

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

بالنسبة لنفس العملية لقياس وقت الاستجابة لواجهة برمجة التطبيقات (API)، ستختلف الاستجابة قليلاً من أداة إلى أخرى. هنا هو السبب
- الخطوة 1) طريقة حساب المقاييس التي تم جمعها بواسطة كل أداة اختبار وقت استجابة واجهة برمجة التطبيقات
- الخطوة 2) الأدوات محاكاة سرعة التحميل والالتقاط التي يمكن أن تحدث فرقًا في وقت الاستجابة
- الخطوة 3) يتم تسجيل العناصر الإضافية عند مراقبة تحميلات المستخدم
- الخطوة 4) تعمل مقاييس الحوسبة التي تجمعها كل أداة على زيادة وقت الاستجابة بسبب ارتفاع استهلاك الموارد.
- الخطوة 5) قد تكون بنية الأداتين مختلفة
أنواع مقاييس الاستجابة
| مقاييس وقت الاستجابة | تفسير |
|---|---|
| متوسط زمن الاستجابة | متوسط وقت الاستجابة هو متوسط الوقت المستغرق لكل طلب رحلة ذهابًا وإيابًا. يتضمن متوسط وقت الاستجابة وقت تحميل HTML، وCSS، وXML، والصور، Javaملفات النصوص، وما إلى ذلك. لذلك، يتأثر المتوسط عندما تكون المكونات البطيئة موجودة في النظام. |
| وقت الاستجابة الذروة | يساعدنا وقت الذروة للاستجابة في العثور على المكونات التي قد تسبب مشاكل. يساعدنا في العثور على جميع المخالفات في الموقع أو النظام حيث لا يتم التعامل مع طلب معين بشكل صحيح. على سبيل المثال، قد يتم تنفيذ استعلام كبير في قاعدة البيانات مما قد يؤثر على وقت الاستجابة. لا يسمح هذا الاستعلام بتحميل الصفحة في الوقت المطلوب. |
| نسبة الخطأ | معدل الخطأ هو عملية حسابية رياضية تُظهر نسبة الطلبات التي بها مشاكل من إجمالي الطلبات. تشمل هذه النسبة جميع رموز حالة HTTP التي تُظهر خطأً على الخادم، بالإضافة إلى الطلبات التي تنتهي مهلتها. |
ثلاثة عتبات زمنية للاستجابة ذات أهمية
هناك رقمان هما الأكثر أهمية في أي تقرير عن وقت الاستجابة:
- متوسط وقت الاستجابة
- أقصى وقت استجابة، أو ذروة وقت الاستجابة
يوضحان معًا المدة التي ينتظرها المستخدم عادةً، والمدة التي ينتظرها المستخدم الأقل حظًا.
فيما يلي أمثلة لقيم اختبار وقت الاستجابة الرئيسية
| وقت الاستجابة | أهمية |
|---|---|
| 0.1 الثانية | إنه وقت الاستجابة الأكثر تفضيلاً. إذا كان زمن الاستجابة 0.1، يشعر المستخدمون دائمًا أن التطبيق أو النظام يستجيب بشكل فوري، ولا يشعرون بأي انقطاع. |
| 1.0 الثانية | هذا هو الحد الأقصى المقبول لتجربة استخدام سلسة. من غير المرجح أن يشعر المستخدمون بأي انقطاع، على الرغم من احتمال حدوث بعض التأخير. قد يؤثر زمن الاستجابة الذي يزيد عن ثانية واحدة على تجربة المستخدم. |
| 10 ثانية | وهو الحد الأقصى الذي يتجاوز بعده زمن الاستجابة الحد المقبول. ومع ذلك، في الوقت الحاضر، إذا تجاوز وقت الاستجابة 6 ثوانٍ، فسيغادر المستخدم هذا الموقع أو يغادر التطبيق. |
حاول الوصول إلى نطاق 0.1 إلى 1 ثانية كلما أمكن ذلك. يتكيف المستخدمون مع الأنظمة الأبطأ، لكن الرضا يتراجع بشكل حاد بعد حوالي ثانيتين، وكل ثانية إضافية تزيد من احتمالية التخلي عن العملية.
أدوات اختبار زمن الاستجابة
تتوفر العديد من أدوات اختبار زمن الاستجابة. ومن أكثرها استخداماً ما يلي:
1) JMeter
Apache JMeter هي أداة اختبار تحميل مفتوحة المصدر. وهي مصممة لقياس أداء المواقع. يمكن استخدام أداة اختبار التحميل هذه في منهجية DevOps.
المميزات:
- JMeter يسمح بإجراء اختبار التحميل والأداء لأنواع الخوادم المختلفة.
- تقوم أداة اختبار التحميل هذه بتخزين خطط الاختبار الخاصة بها بتنسيق XML الذي يسمح للمستخدمين بإنشاء خطة الاختبار باستخدام محرر النصوص.
- يمكن استخدام الأداة لإجراء عمليات تلقائية و الاختبار الوظيفي من التطبيقات.
تحميل الرابط: Apache JMeter التنزيلات
2) عداء التحميل
Loadrunner يُعد برنامج Micro Focus أداةً شائعة الاستخدام لاختبار الأحمال. وهو أحد أفضل البدائل لـ JMeter يوفر واجهة مراقبة وتحليل سهلة الاستخدام مع مخططات ورسومات ملونة.
المميزات:
- يدعم الاختبار المستمر
- يمكن لـ LoadRunner العمل بفعالية في العديد من بيئات المؤسسات
- من الممكن تشغيل عدة نصوص بروتوكولية باستخدام Loadrunner
- التكامل مع أدوات التطوير المختلفة مثل البصرية ستوديو, Jenkins, Selenium، الخ.
تحميل الرابط: برنامج LoadRunner الاحترافي
كيف يتناسب هذا الاختبار مع عائلة اختبارات الأداء
اختبار الأداء مصطلح شامل. تختلف الأنواع المذكورة أدناه فقط في شكل الحمل المطبق ومدة استمراره، وهذا هو سبب الخلط بينها في كثير من الأحيان.
| نوع الاختبار | نمط التحميل | السؤال يجيب عليه |
|---|---|---|
| اختبار الحمل | الحمل الأقصى المتوقع، مدة قصيرة | هل يحقق النظام أهدافه في ظل حركة المرور العادية في أوقات الذروة؟ |
| اختبار الإجهاد | تجاوزت الزيادة الطاقة الاستيعابية حتى الانهيار | أين يكمن الخلل، وهل يفشل بشكل لائق؟ |
| اختبار سبايك | ارتفاع مفاجئ وشديد، ثم انحسار | هل ستنجو من صدمة مرورية وتتعافى منها؟ |
| اختبار التحمل | تحمل الحمل العادي لعدة ساعات | هل يتراجع الأداء بمرور الوقت؟ |
| اختبار النقع | حمل مستمر على مدى فترة طويلة | هل هناك تسريبات للذاكرة أو استنفاد للموارد؟ |
| اختبار الاستقرار | تفاوت الحمل باختلاف الظروف | هل يظل النظام موثوقاً به مع تغير الظروف؟ |
| اختبار الحجم | مستخدمون عاديون، حجم بيانات كبير جدًا | هل يستطيع النظام التعامل مع نمو قاعدة البيانات؟ |
غالباً ما يتم التعامل مع اختبارات التحمل واختبارات النقع على أنها مترادفات. في الاستخدام الشائع، كلاهما قادر على تحمل حمل مستمر لفترة طويلة. وعندما تُفرّق الفرق بينهما، يركز اختبار التحمل على ما إذا كانت أوقات الاستجابة تتزايد، بينما يركز اختبار التحمل على استهلاك الموارد مثل الذاكرة، ومقابض الملفات، ومجموعات الاتصالات. وعادةً ما يوفر تشغيل أحدهما الأدلة اللازمة لكليهما.
اختبار زمن الاستجابة: أهم النقاط
- زمن الاستجابة هو الوقت الذي تستغرقه إحدى عقد النظام للاستجابة لطلب عقدة أخرى.
- متوسط زمن الاستجابة في اختبار أداء هو متوسط الوقت المستغرق لكل طلب رحلة ذهابًا وإيابًا.
- يكشف زمن الاستجابة الأقصى عن المكونات التي قد تكون بها مشاكل.
- معدل الخطأ هو حساب رياضي يعرض النسبة المئوية لطلبات المشكلة.
- ثلاث قيم حاسمة لوقت الاستجابة هي: 0.1 ثانية، و1.0 ثانية، و10 ثوانٍ.
- اثنان من أكثر أدوات اختبار وقت الاستجابة استخدامًا هما JMeter و بي..


