تكوين اختبار تحميل Azure للتحميل على نطاق واسع

في هذه المقالة، ستتعلم كيفية تكوين اختبار التحميل الخاص بك على نطاق واسع باستخدام Azure Load Testing. يلخص اختبار تحميل Azure تعقيد توفير البنية الأساسية لمحاكاة نسبة استخدام الشبكة على نطاق واسع. لتوسيع نطاق اختبار التحميل، يمكنك تكوين عدد مثيلات محرك الاختبار المتوازي. لتحقيق توزيع تحميل مثالي، يمكنك مراقبة مقاييس صحة مثيل الاختبار في لوحة معلومات اختبار تحميل Azure.

المتطلبات الأساسية

  • حساب Azure مع اشتراك نشط. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

  • مورد اختبار تحميل Azure موجود. لإنشاء مورد اختبار تحميل Azure، راجع التشغيل السريع إنشاء اختبار تحميل وتشغيله.

تكوين معلمات التحميل لاختبار التحميل

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

اعتمادا على نوع اختبار التحميل أو مستند إلى عنوان URL أو مستند إلى JMeter، لديك خيارات مختلفة لتكوين الحمل الهدف ونمط التحميل. يسرد الجدول التالي الاختلافات بين نوعي الاختبار.

نوع الاختبار عدد المستخدمين الظاهريين نمط التحميل
مستند إلى عنوان URL (أساسي) حدد العدد المستهدف للمستخدمين الظاهريين في تكوين اختبار التحميل. نمط التحميل الخطي، استنادا إلى وقت زيادة عدد المستخدمين الظاهريين وعددهم.
مستند إلى عنوان URL (متقدم) حدد عدد محركات الاختبار وعدد المستخدمين الظاهريين لكل مثيل في تكوين اختبار التحميل. تكوين نمط التحميل (خطي، خطوة، ارتفاع).
مستند إلى JMeter حدد عدد محركات الاختبار في تكوين اختبار التحميل. حدد عدد المستخدمين الظاهريين في البرنامج النصي للاختبار. تكوين نمط التحميل في البرنامج النصي للاختبار.

تكوين معلمات التحميل للاختبارات المستندة إلى عنوان URL

لتحديد معلمات التحميل لاختبار التحميل المستند إلى عنوان URL:

  1. في مدخل Microsoft Azure، انتقل إلى مورد اختبار تحميل Azure.

  2. في جزء التنقل الأيمن، حدد Tests لعرض جميع الاختبارات.

  3. في القائمة، حدد اختبار التحميل، ثم حدد تحرير.

    Screenshot that shows the list of load tests and the 'Edit' button.

    بدلا من ذلك، يمكنك أيضا تحرير تكوين الاختبار من صفحة تفاصيل الاختبار. للقيام بذلك، حدد Configure، ثم حدد Test.

  4. في صفحة الأساسيات ، تأكد من تحديد تمكين الإعدادات المتقدمة.

  5. في صفحة Edit test ، حدد علامة التبويب Load .

    بالنسبة للاختبارات المستندة إلى عنوان URL، يمكنك تكوين عدد مثيلات محرك الاختبار المتوازي ونمط التحميل.

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

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  7. حدد قيمة نمط التحميل من القائمة.

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

    Screenshot of the 'Load' tab when editing a load test, showing how to configure the load pattern.

تكوين معلمات التحميل للاختبارات المستندة إلى JMeter

لتحديد معلمات التحميل لاختبار التحميل المستند إلى JMeter:

  1. في مدخل Microsoft Azure، انتقل إلى مورد اختبار تحميل Azure.

  2. في جزء التنقل الأيمن، حدد Tests لعرض جميع الاختبارات.

  3. في القائمة، حدد اختبار التحميل، ثم حدد تحرير.

    Screenshot that shows the list of load tests and the 'Edit' button.

    بدلا من ذلك، يمكنك أيضا تحرير تكوين الاختبار من صفحة تفاصيل الاختبار. للقيام بذلك، حدد Configure، ثم حدد Test.

  4. في صفحة تحرير الاختبار ، حدد علامة التبويب تحميل . استخدم عنصر تحكم شريط تمرير مثيلات المحرك لتحديث عدد مثيلات محرك الاختبار، أو أدخل القيمة مباشرة في مربع الإدخال.

    Screenshot of the 'Load' tab on the 'Edit test' pane.

  5. حدد تطبيق لتعديل الاختبار واستخدام التكوين الجديد عند إعادة تشغيله.

مراقبة مقاييس مثيل المحرك

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

يبلغ Azure Load Testing عن أربعة مقاييس للموارد لكل مثيل:

  • النسبة المئوية لوحدة المعالجة المركزية.
  • النسبة المئوية للذاكرة.
  • بايت الشبكة في الثانية.
  • عدد المستخدمين الظاهريين.

يعتبر مثيل محرك الاختبار سليما إذا كان متوسط النسبة المئوية لوحدة المعالجة المركزية أو نسبة الذاكرة على مدى مدة تشغيل الاختبار أقل من 75٪.

لعرض مقاييس مورد المحرك:

  1. انتقل إلى مورد اختبار التحميل الخاص بك. في الجزء الأيمن، حدد Tests لعرض قائمة اختبارات التحميل.

  2. في القائمة، حدد اختبار التحميل لعرض قائمة عمليات تشغيل الاختبار.

  3. في قائمة تشغيل الاختبار، حدد تشغيل الاختبار الخاص بك.

  4. في لوحة معلومات تشغيل الاختبار، حدد صحة المحرك لعرض مقاييس مورد المحرك.

    اختياريا، حدد مثيل محرك اختبار معين باستخدام عناصر تحكم عوامل التصفية.

Screenshot that shows the load engine health metrics on the test run dashboard.

استكشاف أخطاء مثيلات المحرك غير السليم وإصلاحها

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

  • تقليل عدد مؤشرات الترابط (المستخدمين الظاهريين) لكل محرك اختبار. لتحقيق عدد مستهدف من المستخدمين الظاهريين، قد تزيد من عدد مثيلات المحرك لاختبار التحميل.

  • تأكد من أن البرنامج النصي الخاص بك فعال، مع عدم وجود تعليمة برمجية زائدة عن الحاجة.

  • إذا كانت حالة صحة المحرك غير معروفة، أعد تشغيل الاختبار.

تحديد الطلبات في الثانية

يعتمد الحد الأقصى لعدد الطلبات في الثانية (RPS) التي يمكن أن ينشئها Azure Load Testing لاختبار التحميل الخاص بك على زمن انتقال التطبيق وعدد المستخدمين الظاهريين (VUs). زمن انتقال التطبيق هو الوقت الإجمالي من إرسال طلب تطبيق بواسطة محرك الاختبار، إلى تلقي الاستجابة. عدد المستخدمين الظاهريين هو عدد الطلبات المتوازية التي ينفذها Azure Load Testing في وقت معين.

لحساب عدد الطلبات في الثانية، قم بتطبيق الصيغة التالية: RPS = (# من وحدات VUs) * (1/زمن الانتقال بالثوان).

على سبيل المثال، إذا كان زمن انتقال التطبيق 20 مللي ثانية (0.02 ثانية)، وكنت تقوم بإنشاء حمل من 2000 وحدة ظاهرية، يمكنك تحقيق حوالي 100000 RPS (2000 * 1/0.02s).

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

إشعار

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

مثيلات محرك الاختبار والمستخدمين الظاهريين

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

في Azure Load Testing، تكون مثيلات محرك الاختبار مسؤولة عن تشغيل البرنامج النصي Apache JMeter. تعمل جميع مثيلات محرك الاختبار بالتوازي. يمكنك تكوين عدد المثيلات لاختبار التحميل.

العدد الإجمالي للمستخدمين الظاهريين لاختبار التحميل هو بعد ذلك: VUs = (# threads) * (# test engine instances).

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

على سبيل المثال، لمحاكاة 1000 مستخدم ظاهري، قم بتعيين عدد مؤشرات الترابط في البرنامج النصي Apache JMeter إلى 250. ثم قم بتكوين اختبار التحميل باستخدام أربعة مثيلات لمحرك الاختبار (أي مؤشرات ترابط 4 × 250).

يحدد موقع مورد Azure Load Testing موقع مثيلات محرك الاختبار. تتم استضافة جميع مثيلات محرك الاختبار داخل مورد اختبار التحميل في نفس منطقة Azure.