التشغيل السريع: إنشاء اختبار تحميل وتشغيله باستخدام معاينة اختبار تحميل Azure

توضح هذه البداية السريعة كيفية إنشاء مورد معاينة اختبار تحميل Azure باستخدام مدخل Azure. باستخدام هذا المورد ، ستقوم بإنشاء اختبار تحميل باستخدام برنامج نصي Apache JMeter وتشغيل الاختبار مقابل موقع ويب خارجي.

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

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

هام

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

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

إنشاء مورد اختبار تحميل Azure

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

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

لإنشاء مورد اختبار التحميل:

  1. تسجيل الدخول إلى مدخل Azure باستخدام بيانات الاعتماد للاشتراك في Azure.

  2. حدد زر القائمة في الزاوية العلوية اليمنى من البوابة الإلكترونية، ثم حدد + إنشاء مورد.

    Screenshot that shows the button for creating a resource.

  3. استخدم شريط البحث للعثور على اختبار تحميل Azure.

  4. حدد Azure Load Testing.

  5. في جزء اختبار تحميل Azure ، حدد إنشاء.

    Screenshot that shows the Azure Load Testing pane.

  6. قم بتوفير المعلومات التالية لتكوين مورد اختبار تحميل Azure الجديد:

    الحقل الوصف
    الاشتراك حدد اشتراك Azure الذي تريد استخدامه لمورد اختبار تحميل Azure هذا.
    مجموعة الموارد حدد مجموعة موارد موجودة. أو حدد إنشاء جديد، ثم أدخل اسما فريدا لمجموعة الموارد الجديدة.
    الاسم أدخل اسما فريدا لتحديد مورد اختبار تحميل Azure الخاص بك.
    لا يمكن أن يحتوي الاسم على أحرف خاصة، مثل \/""[]:|<>+=;;,?*@& أو مسافة بيضاء. لا يمكن أن يبدأ الاسم بشرطة سفلية (_)، ولا يمكن أن ينتهي بنقطة (.) أو شرطة (-). يجب أن يكون الطول من 1 إلى 64 حرفا.
    الموقع حدد موقعا جغرافيا لاستضافة مورد اختبار تحميل Azure الخاص بك.
    يحدد هذا الموقع أيضا المكان الذي تتم فيه استضافة محركات الاختبار والمكان الذي تنشأ منه طلبات عميل JMeter.

    ملاحظة

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

  7. بعد الانتهاء من تكوين المورد، حدد مراجعة + إنشاء.

  8. راجع كافة إعدادات التكوين وحدد إنشاء لبدء نشر مورد اختبار تحميل Azure.

    عند انتهاء العملية، تظهر رسالة نجاح النشر.

  9. لعرض المورد الجديد، حدد الانتقال إلى المورد.

    Screenshot that shows the deployment completion screen.

  10. اختياريا، يمكنك إدارة الوصول إلى مورد اختبار تحميل Azure الخاص بك.

    يستخدم Azure Load Testing التحكم في الوصول المستند إلى الدور (RBAC) لإدارة أذونات المورد الخاص بك. إذا واجهت هذه الرسالة، فهذا يعني أن حسابك لا يملك الأذونات اللازمة لإدارة الاختبارات.

    Screenshot that shows an error message in the Azure portal that you're not authorized to use the Azure Load Testing resource.

إنشاء برنامج نصي Apache JMeter

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

  1. إنشاء ملف SampleTest.jmx على جهازك المحلي:

    touch SampleTest.jmx
    
  2. افتح SampleTest.jmx في محرر نصوص والصق مقتطف التعليمات البرمجية التالي في الملف:

    <?xml version="1.0" encoding="UTF-8"?>
    <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.1">
      <hashTree>
        <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Azure Load Testing Quickstart" enabled="true">
          <stringProp name="TestPlan.comments"></stringProp>
          <boolProp name="TestPlan.functional_mode">false</boolProp>
          <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
          <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
          <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
            <collectionProp name="Arguments.arguments"/>
          </elementProp>
          <stringProp name="TestPlan.user_define_classpath"></stringProp>
        </TestPlan>
        <hashTree>
          <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
            <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
            <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
              <boolProp name="LoopController.continue_forever">false</boolProp>
              <intProp name="LoopController.loops">-1</intProp>
            </elementProp>
            <stringProp name="ThreadGroup.num_threads">5</stringProp>
            <stringProp name="ThreadGroup.ramp_time">10</stringProp>
            <boolProp name="ThreadGroup.scheduler">true</boolProp>
            <stringProp name="ThreadGroup.duration">120</stringProp>
            <stringProp name="ThreadGroup.delay">5</stringProp>
            <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
          </ThreadGroup>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Homepage" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">your-endpoint-url</stringProp>
              <stringProp name="HTTPSampler.port"></stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path"></stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
          </hashTree>
        </hashTree>
      </hashTree>
    </jmeterTestPlan>
    

    يحاكي هذا البرنامج النصي Apache JMeter اختبار تحميل لخمسة مستخدمين افتراضيين يصلون في وقت واحد إلى نقطة نهاية ويب. يستغرق أقل من دقيقتين لإكماله.

  3. في الملف، استبدل نص your-endpoint-url العنصر النائب بعنوان URL لنقطة النهاية الخاصة بك.

    هام

    لا تقم بتضمين https عنوان URL لنقطة النهاية أو http في ذلك.

  4. حفظ وإغلاق الملف.

إنشاء اختبار تحميل

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

لإنشاء اختبار تحميل باستخدام برنامج نصي Apache JMeter موجود:

  1. انتقل إلى مورد اختبار تحميل Azure، وحدد الاختبارات من الجزء الأيمن، ثم حدد + إنشاء اختبار جديد.

    Screenshot that shows the Azure Load Testing page and the button for creating a new test.

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

    Screenshot that shows the Basics tab for creating a test.

  3. ضمن علامة التبويب خطة الاختبار، حدد البرنامج النصي Apache JMeter، ثم حدد Upload لتحميل الملف إلى Azure.

    Screenshot that shows the Test plan tab.

    ملاحظة

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

  4. (اختياري) في علامة التبويب المعلمات، قم بتكوين معلمات الإدخال للبرنامج النصي Apache JMeter.

  5. بالنسبة إلى هذه البداية السريعة، يمكنك ترك القيمة الافتراضية ضمن علامة التبويب تحميل :

    الحقل القيمة الافتراضية الوصف
    مثيلات المحرك 1 عدد محركات الاختبار المتوازية التي تقوم بتشغيل البرنامج النصي Apache JMeter.

    Screenshot that shows the Load tab for creating a test.

  6. (اختياري) في علامة التبويب معايير الاختبار ، قم بتكوين المعايير لتحديد متى يجب أن يفشل اختبار التحميل.

  7. (اختياري) في علامة التبويب مراقبة ، يمكنك تحديد مكونات تطبيق Azure لالتقاط المقاييس من جانب الخادم. بالنسبة إلى هذه البداية السريعة، فأنت لا تختبر تطبيقا مستضافا من Azure.

  8. حدد Review + create. راجع كافة الإعدادات، ثم حدد إنشاء لإنشاء اختبار التحميل.

    Screenshot that shows the tab for reviewing and creating a test.

ملاحظة

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

قم بتشغيل اختبار التحميل

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

  1. انتقل إلى مورد اختبار التحميل، وحدد الاختبارات من الجزء الأيمن، ثم حدد الاختبار الذي قمت بإنشائه.

    Screenshot that shows the list of load tests.

  2. في الصفحة التي تعرض تفاصيل الاختبار، حدد تشغيل أو تشغيل الاختبار.

    Screenshot that shows the button for running a load test.

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

    Screenshot that shows the run confirmation page.

    تلميح

    يمكنك إيقاف اختبار تحميل في أي وقت من مدخل Azure.

قم بعرض نتائج الاختبار

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

  1. انتقل إلى الصفحة التي تعرض تفاصيل الاختبار. حدد أحدث تشغيل اختباري.

    Screenshot that shows the list of test runs.

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

    Screenshot that shows results of the load test.

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

    Screenshot that shows the filter criteria for the results of a load test.

تنظيف الموارد

هام

يمكنك إعادة استخدام مورد اختبار تحميل Azure الذي قمت بإنشائه لبرامج اختبار تحميل Azure الأخرى والمقالات الإرشادية.

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

لحذف الموارد باستخدام مدخل Azure:

  1. حدد زر القائمة في الزاوية العلوية اليمنى، ثم حدد مجموعات الموارد.

  2. من القائمة، حدد مجموعة الموارد التي أنشأتها.

  3. حدد Delete resource group. Screenshot of the selections to delete a resource group in the Azure portal.

  4. أدخل اسم مجموعة الموارد. ثم حدد «Delete».

لحذف الموارد باستخدام Azure CLI، أدخل الأمر التالي:

az group delete --name <yourresourcegroup>

تذكر أن حذف مجموعة الموارد يؤدي إلى حذف جميع الموارد الموجودة داخلها.

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

لديك الآن مورد Azure Load Testing الذي استخدمته لتحميل اختبار موقع ويب خارجي.

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