ما هو Azure Load Testing؟

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

قم بإنشاء اختبار تحميل لتطبيق الويب الخاص بك بسرعة باستخدام عنوان URL، ودون معرفة مسبقة بأدوات الاختبار. يلخص Azure Load Testing التعقيد والبنية الأساسية لتشغيل اختبار التحميل الخاص بك على نطاق واسع.

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

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

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

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

يوضح الرسم التخطيطي التالي نظرة عامة على البنية لاختبار تحميل Azure.

Diagram that shows the Azure Load Testing architecture.

إشعار

توضح صورة النظرة العامة كيفية استخدام Azure Load Testing لـ Azure Monitor لتسجيل مقاييس لمكونات التطبيق. تعرف على المزيد حول أنواع موارد Azure المدعومة.

تعرف على المزيد حول المفاهيم الرئيسية لاختبار تحميل Azure.

سيناريوهات الاستخدام

يستخدم Azure Load Testing Apache JMeter ويدعم مجموعة واسعة من أنواع التطبيقات وبروتوكولات الاتصال. توفر القائمة التالية أمثلة على أنواع التطبيقات أو نقاط النهاية المدعومة:

  • تطبيقات الويب، باستخدام HTTP أو HTTPS
  • واجهة برمجة تطبيقات REST
  • قواعد البيانات عبر JDBC
  • نقاط النهاية المستندة إلى TCP

باستخدام المكونات الإضافية JMeter في البرنامج النصي للاختبار الخاص بك، يمكنك تحميل اختبار المزيد من أنواع التطبيقات.

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

لا يدعم Azure Load Testing حاليا أطر عمل اختبار أخرى غير Apache JMeter.

تحديد ازدحامات الأداء باستخدام اختبارات التحميل على نطاق واسع

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

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

يحتفظ Azure Load Testing بمحفوظات عمليات تشغيل الاختبار ويسمح لك بمقارنة عمليات تشغيل متعددة بصريا للكشف عن تراجعات الأداء بمرور الوقت.

يمكنك أيضا تنزيل نتائج الاختبار للتحليل في أداة تابعة لجهة خارجية.

تمكين اختبار التحميل التلقائي

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

ابدأ بإضافة اختبار التحميل إلى سير عمل CI/CD لتحديد تدهور أداء التطبيق الخاص بك تحت التحميل بسرعة.

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

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

يمكنك تشغيل Azure Load Testing من Azure Pipelines أو مهام سير عمل إجراءات GitHub.

كيف يعمل اختبار تحميل Azure؟

يستخدم Azure Load Testing Apache JMeter لتشغيل اختبارات التحميل. يمكنك استخدام المكونات الإضافية Apache JMeter من https://jmeter-plugins.org أو تحميل التعليمات البرمجية للمكون الإضافي الخاص بك. يدعم Azure Load Testing جميع بروتوكولات الاتصال التي يدعمها JMeter. على سبيل المثال، لتحميل اختبار اتصال قاعدة بيانات أو قائمة انتظار رسائل. تعرف على المزيد حول وظيفة Apache JMeter المدعومة.

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

يمكنك استضافة التطبيق تحت الحمل في أي مكان: في Azure أو في أماكن العمل أو في السحب الأخرى. لتشغيل اختبار تحميل للخدمات التي لا تحتوي على نقطة نهاية عامة، انشر اختبار تحميل Azure في شبكة ظاهرية.

أثناء اختبار التحميل، يجمع Azure Load Testing مقاييس الموارد التالية ويعرضها في لوحة معلومات:

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

  • توفر المقاييس من جانب الخادم معلومات حول مكونات تطبيق Azure. يتكامل Azure Load Testing مع Azure Monitor، بما في ذلك Application Insights و Container insights، لالتقاط التفاصيل من خدمات Azure. اعتمادا على نوع الخدمة، تتوفر مقاييس مختلفة. على سبيل المثال، يمكن أن تكون المقاييس لعدد قراءات قاعدة البيانات أو نوع استجابات HTTP أو استهلاك موارد الحاوية.

يتضمن Azure Load Testing تلقائيا أفضل الممارسات لشبكة Azure للمساعدة في التأكد من تشغيل اختباراتك بشكل آمن وموثوق. يتم إيقاف اختبارات التحميل تلقائيا إذا بدأت نقاط نهاية التطبيق أو مكونات Azure في تقييد الطلبات.

تقوم الخدمة تلقائيا بتشفير جميع البيانات المخزنة في مورد اختبار التحميل باستخدام مفاتيح تديرها Microsoft (مفاتيح مدارة بواسطة الخدمة). على سبيل المثال، تتضمن هذه البيانات البرنامج النصي Apache JMeter وملفات التكوين والمزيد. بدلا من ذلك، يمكنك أيضا تكوين الخدمة لاستخدام المفاتيح التي يديرها العميل.

موقع بيانات الإقامة المُتاحة في المنطقة

لا يقوم Azure Load Testing بتخزين بيانات العميل أو معالجتها خارج المنطقة التي تنشر مثيل الخدمة فيها.

الخطوات التالية

بدء استخدام اختبار تحميل Azure: