مشاركة عبر


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

تعرف على كيفية تكوين اختبار التحميل في Azure Load Testing باستخدام YAML. يمكنك استخدام ملف YAML لتكوين الاختبار لإنشاء اختبارات التحميل وتشغيلها من سير عمل التكامل المستمر والتسليم المستمر (CI/CD).

بناء جملة اختبار التحميل YAML

يستخدم تكوين اختبار التحميل المفاتيح التالية:

Key Type مطلوبة القيمة الافتراضية Description
version string نعم تحميل إصدار مواصفات الاختبار. القيمة الوحيدة المدعومة هي v0.1.
testId string نعم معرف فريد لاختبار التحميل. يجب أن تتراوح القيمة بين حرفين و50 حرفا ([a-z0-9_-]). بالنسبة لاختبار موجود، يمكنك الحصول على testId من صفحة تفاصيل الاختبار في مدخل Microsoft Azure.
testName string N مهمل . معرف فريد لاختبار التحميل. يتم استبدال هذا الإعداد ب testId. لا يزال بإمكانك تشغيل الاختبارات الموجودة مع حقل testName.
displayName string N عرض اسم الاختبار. تظهر هذه القيمة في قائمة الاختبارات في مدخل Microsoft Azure. إذا لم يتم توفيره، يتم استخدام testId كاسم العرض.
description string N وصف مختصر للاختبار. يبلغ الحد الأقصى لطول القيمة 100 حرف.
testType string نعم نوع الاختبار. القيم المحتملة:
  • URL: اختبار التحميل المستند إلى عنوان URL
  • JMX: اختبار التحميل المستند إلى JMeter
  • Locust: اختبار التحميل المستند إلى Locust
testPlan string نعم مرجع إلى ملف خطة الاختبار.
  • إذا testType: JMX: مسار نسبي إلى البرنامج النصي لاختبار JMeter.
  • إذا : testType: Locustمسار نسبي إلى البرنامج النصي لاختبار Locust.
  • إذا : testType: URLمسار نسبي إلى ملف JSON للطلبات.
engineInstances العدد الصحيح نعم عدد مثيلات محرك الاختبار المتوازي لتشغيل خطة الاختبار. تعرف على المزيد حول تكوين التحميل على نطاق واسع.
configurationFiles صفيف سلسلة N قائمة الملفات الخارجية، المطلوبة من قبل البرنامج النصي للاختبار. على سبيل المثال، ملفات أجزاء JMX أو ملفات بيانات CSV أو الصور أو أي ملف بيانات آخر.
يقوم Azure Load Testing بتحميل جميع الملفات في نفس المجلد مثل البرنامج النصي للاختبار. في البرنامج النصي JMeter أو البرنامج النصي Locust، ارجع فقط إلى الملفات الخارجية باستخدام اسم الملف، وقم بإزالة أي معلومات مسار الملف.
failureCriteria object N معايير فشل اختبار التحميل. راجع failureCriteria لمزيد من التفاصيل.
autoStop سلسلة أو كائن N أوقف اختبار التحميل تلقائيا عندما تتجاوز نسبة الخطأ قيمة.
القيم المحتملة:
- disable: لا توقف اختبار التحميل تلقائيا.
- الكائن: راجع تكوين الضبط التلقائي لمزيد من التفاصيل.
properties object N
  • إذا : testType: JMXمراجع ملف خاصية مستخدم JMeter.
  • إذا : testType: Locustمراجع ملف تكوين Locust.
راجع الخصائص لمزيد من التفاصيل.
zipArtifacts صفيف سلسلة N تحديد قائمة ملفات البيانات الاصطناعية المضغوطة. بالنسبة للملفات الأخرى غير البرنامج النصي للاختبار الرئيسي وخصائص المستخدم للاختبارات المستندة إلى JMeter وملفات البرنامج النصي Locust وملفات التكوين للاختبارات المستندة إلى Locust، إذا تجاوز حجم الملف 50 ميغابايت، فضغطها في ملف ZIP. تأكد من أن حجم ملف ZIP أقل من 50 ميغابايت. يسمح فقط ب 5 أدوات ZIP بحد أقصى 1000 ملف في كل منها وحجم غير مضغوط يبلغ 1 غيغابايت. ينطبق فقط على testType: JMX و testType: Locust.
splitAllCSVs boolean N خطأ تقسيم ملفات الإدخال CSV بالتساوي عبر جميع مثيلات محرك الاختبار. لمزيد من المعلومات، راجع قراءة ملف CSV في اختبارات التحميل.
secrets object N قائمة الأسرار التي يشير إليها البرنامج النصي Apache JMeter أو Locust. راجع البيانات السرية لمزيد من التفاصيل.
env object N قائمة متغيرات البيئة التي يشير إليها البرنامج النصي Apache JMeter أو Locust. راجع متغيرات البيئة لمزيد من التفاصيل.
certificates object N قائمة شهادات العميل للمصادقة مع نقاط نهاية التطبيق في البرنامج النصي JMeter أو Locust. راجع الشهادات لمزيد من التفاصيل.
appComponents object N قائمة بالخادم -side الموارد التي يجب مراقبتها أثناء اختبار التحميل. راجع appComponents لمزيد من التفاصيل.
subnetId string N معرف المورد للشبكة الفرعية للشبكة الظاهرية لاختبار نقاط النهاية المستضافة بشكل خاص. تستضيف هذه الشبكة الفرعية الأجهزة الظاهرية لمحرك الاختبار الذي تم إدخاله. لمزيد من المعلومات، راجع كيفية تحميل نقاط النهاية المستضافة بشكل خاص.
publicIPDisabled boolean N تعطيل نشر عنوان IP عام وموازن تحميل ومجموعة أمان الشبكة أثناء اختبار نقطة نهاية خاصة. لمزيد من المعلومات، راجع كيفية تحميل نقاط النهاية المستضافة بشكل خاص.
regionalLoadTestConfig object N توزيع التحميل عبر المناطق لمحاكاة نسبة استخدام الشبكة للمستخدم من مناطق متعددة. لمزيد من المعلومات، راجع تكوين اختبار التحميل الإقليمي لمزيد من التفاصيل.
referenceIdentities object N قائمة الهويات المدارة المستخدمة في الاختبار للوصول إلى الأسرار من Azure Key Vault، ومقاييس معايير الفشل من جانب الخادم، ومصادقة نقاط النهاية الخاصة بك. راجع referenceIdentities لمزيد من التفاصيل.

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

يحتوي مقتطف YAML التالي على مثال لتكوين اختبار التحميل.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
subnetId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Network/virtualNetworks/load-testing-vnet/subnets/load-testing
configurationFiles:
  - 'sampledata.csv'
  - 'testfragment.jmx'
zipArtifacts:
   - bigdata.zip
splitAllCSVs: True
failureCriteria:
  - avg(response_time_ms) > 300
  - percentage(error) > 50
  - GetCustomerDetails: avg(latency) >200
autoStop:
  errorPercentage: 80
  timeWindow: 60
secrets:
  - name: my-secret
    value: https://akv-contoso.vault.azure.net/secrets/MySecret/abc1234567890def12345
keyVaultReferenceIdentity: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity

failureCriteria تكوين

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

مقاييس العميل

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

  • معايير الاختبار على مستوى اختبار التحميل: Aggregate_function (client_metric) condition threshold.
  • معايير الاختبار المطبقة على طلبات معينة: Request: Aggregate_function (client_metric) condition threshold.

يدعم اختبار تحميل Azure مقاييس العميل التالية:

Metric الدالة التجميعية الحد Condition Description
response_time_ms avg (متوسط)
min (الحد الأدنى)
max (الحد الأقصى)
pxx (القيمة المئوية)، يمكن أن تكون xx 50 و75 و90 و95 و96 و97 و98 و99 و999 و999
قيمة عدد صحيح، تمثل عدد المللي ثانية (مللي ثانية). >(أكثر من)
<(أصغر من)
وقت الاستجابة أو الوقت المنقضي، بالمللي ثانية. تعرف على المزيد حول الوقت المنقضي في وثائق Apache JMeter.
latency avg (متوسط)
min (الحد الأدنى)
max (الحد الأقصى)
pxx (القيمة المئوية)، يمكن أن تكون xx 50، 90، 95، 99
قيمة عدد صحيح، تمثل عدد المللي ثانية (مللي ثانية). >(أكثر من)
<(أصغر من)
زمن الانتقال، بالمللي ثانية. تعرف على المزيد حول زمن الانتقال في وثائق Apache JMeter.
error percentage قيمة رقمية في النطاق 0-100، تمثل نسبة مئوية. >(أكثر من) النسبة المئوية للطلبات الفاشلة.
requests_per_sec avg (متوسط) قيمة رقمية مع ما يصل إلى منزلتين عشريتين. > (أكبر من)
<(أصغر من)
عدد الطلبات في الثانية.
requests count قيمة عدد صحيح. > (أكبر من)
<(أصغر من)
إجمالي عدد الطلبات.

مقاييس من جانب الخادم

يمكنك تحديد معايير الفشل على المقاييس من جانب الخادم لمكونات التطبيق من جانب الخادم.

يصف الجدول التالي الحقول المختلفة في serverMetrics: التكوين:

المعلمة Description
resourceId Required. معرف المورد لمكون التطبيق الذي يجب تطبيق المعايير عليه
metricNamespace Required. مساحة اسم المقياس من جانب الخادم.
metricName Required. المقاييس من جانب الخادم التي يجب تطبيق المعايير عليها.
aggregation Required. التجميع الذي يجب تطبيقه على المقاييس من جانب الخادم.
condition Optional. عامل المقارنة، مثل greater than، أو less than.
value Required. القيمة الرقمية للمقارنة مع المقياس.

نموذج تكوين معايير الفشل

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

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
failureCriteria:
  clientMetrics:
    - avg(responseTimeMs) > 300
    - percentage(error) > 50
    - getCustomerDetails: avg(latency) > 200
  serverMetrics:
    - resourceId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-vm
      metricNamespace: Microsoft.Compute/virtualMachines
      metricName: Percentage CPU
      aggregation: Average
      condition: GreaterThan
      value: 80
    - resourceId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-vm
      metricNamespace: Microsoft.Compute/virtualMachines
      metricName: Available Memory
      aggregation: Average
      condition: LessThan
      value: 20

appComponents تكوين

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

يصف الجدول التالي الحقول المختلفة في appComponents: التكوين:

المعلمة Description
resourceId Required. معرف المورد لمكون التطبيق الذي يجب تطبيق المعايير عليه.
resourceName Optional. اسم المورد المراد مراقبته.
kind Optional. نوع المورد الذي سيتم مراقبته.
metrics Required. قائمة المقاييس التي سيتم مراقبتها لمكون التطبيق. يحتوي هذا على الاسم ومساحة الاسم والتجميع للمقياس.

عينة تكوين مكونات التطبيق

يظهر مقتطف التعليمات البرمجية التالي تكوين اختبار التحميل، والذي يحتوي على مكونين للتطبيق.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
appComponents:
  - resourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appComponentResource"
    resourceName: appComponentResource #Optional
    kind: web # Optional
    metrics:
      - name: "requests/duration"
        namespace: microsoft.insights/components 
        aggregation: "Average"
      - name: "requests/count"
        aggregation: "Total"
        namespace: microsoft.insights/components   
  - resourceId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appComponentResource"
    resourceName: appComponentResource #Optional
    kind: web # Optional
    metrics:
      - name: "requests/duration"
        aggregation: "Average"
        namespace: microsoft.insights/components
      - name: "requests/count"
        aggregation: "Total"
        namespace: microsoft.insights/components

autoStop تكوين

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

Key Type القيمة الافتراضية Description
errorPercentage العدد الصحيح 90 حد النسبة المئوية للخطأ، أثناء timeWindow. إذا تجاوزت نسبة الخطأ هذه النسبة المئوية خلال أي نافذة زمنية معينة، يتوقف تشغيل الاختبار تلقائيا.
timeWindow العدد الصحيح 60 النافذة الزمنية بالثوان لحساب errorPercentage.

عينة تكوين Autostop

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

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
autoStop:
  errorPercentage: 80
  timeWindow: 60

properties تكوين

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

Key Type القيمة الافتراضية Description
userPropertyFile string ملف لاستخدامه كملف خصائص مستخدم Apache JMeter أو ملف تكوين Locust. بالنسبة إلى Locust، يتم دعم الملفات ذات الملحقات .conf .ini و.toml كملف تكوين. يتم تحميل الملف إلى مورد اختبار تحميل Azure جنبا إلى جنب مع البرنامج النصي للاختبار وملفات التكوين الأخرى. إذا كان الملف في مجلد فرعي على جهازك المحلي، فاستخدم مسارا يتعلق بموقع البرنامج النصي للاختبار.

نموذج تكوين ملف خاصية المستخدم

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

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
properties:
  userPropertyFile: 'user.properties'

يظهر مقتطف التعليمات البرمجية التالي تكوين اختبار التحميل، والذي يحدد ملف تكوين Locust.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.py
testType: Locust
engineInstances: 1
properties:
  userPropertyFile: 'locust.conf'

secrets تكوين

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

Key Type القيمة الافتراضية Description
name string اسم السر. يجب أن يتطابق هذا الاسم مع الاسم السري الذي تستخدمه في طلبات خطة الاختبار.
value string URI (معرف سري) للبيانات السرية ل Azure Key Vault.

عينة تكوين البيانات السرية

يظهر مقتطف التعليمات البرمجية التالي تكوين اختبار التحميل، والذي يشير إلى سر my-secret في Azure Key Vault.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
secrets:
  - name: my-secret
    value: https://akv-contoso.vault.azure.net/secrets/MySecret/abc1234567890def12345

env تكوين

يمكنك تحديد متغيرات البيئة والإشارة إليها في خطة الاختبار الخاصة بك. تعرف على المزيد حول استخدام متغيرات البيئة مع Azure Load Testing.

Key Type القيمة الافتراضية Description
name string اسم متغير البيئة. يجب أن يتطابق هذا الاسم مع اسم المتغير الذي تستخدمه في طلبات خطة الاختبار.
value string قيمة متغير البيئة.

نموذج تكوين متغير البيئة

يظهر مقتطف التعليمات البرمجية التالي تكوين اختبار تحميل، والذي يحدد متغير my-variable بيئة وقيمة my-value.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
env:
  - name: my-variable
    value: my-value

certificates تكوين

يمكنك تمرير شهادات العميل إلى اختبار التحميل الخاص بك. يتم تخزين الشهادة في Azure Key Vault. تعرف على المزيد حول استخدام شهادات العميل مع Azure Load Testing.

Key Type القيمة الافتراضية Description
name string اسم الشهادة.
value string URI (المعرف السري) للشهادة في Azure Key Vault.

نموذج تكوين الشهادة

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

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
certificates:
  - name: my-certificate
    value: https://akv-contoso.vault.azure.net/certificates/MyCertificate/abc1234567890def12345

referenceIdentities تكوين

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

يصف الجدول التالي الحقول المختلفة في referenceIdentities: التكوين:

المعلمة Description
kind Required. يحدد هذا السيناريو الذي يتم استخدام الهوية المدارة له. يمكن أن يكون هذا أحد ما يلي KeyVault، Metricsأو Engine. يمكن أن يكون هناك عناصر متعددة للنوع Engine.
type Required. نوع الهوية. يمكن أن يكون UserAssigned هذا أو SystemAssigned.
value Required. معرف المورد للهوية المدارة. لا يلزم توفير هذا إذا كان النوع هو SystemAssigned.

نموذج تكوين الهويات المرجعية

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

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
secrets:
  - name: my-secret
    value: https://akv-contoso.vault.azure.net/secrets/MySecret/abc1234567890def12345
failureCriteria:
  serverMetrics:
    - resourceId: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-vm
      metricNamespace: Microsoft.Compute/virtualMachines
      metricName: Percentage CPU
      aggregation: Average
      condition: GreaterThan
      value: 80
referenceIdentities:
  - kind: KeyVault
    type: UserAssigned
    value: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity
  - kind: Metrics
    type: SystemAssigned
  - kind: Engine
    type: UserAssigned
    value: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity
  - kind: Engine
    type: UserAssigned
    value: /subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity1

طلب ملف JSON

إذا كنت تستخدم اختبارا يستند إلى عنوان URL، يمكنك تحديد طلبات HTTP في ملف JSON بدلا من استخدام برنامج نصي للاختبار. تأكد من تعيين testType إلى URL في ملف YAML لتكوين الاختبار والإشارة إلى ملف JSON للطلبات.

طلبات HTTP

يستخدم ملف JSON الطلبات الخصائص التالية لتعريف الطلبات في الخاصية requests :

Property Type Description
requestName string اسم الطلب الفريد. يمكنك الرجوع إلى اسم الطلب عند تكوين معايير فشل الاختبار.
responseVariables صفيف قائمة متغيرات الاستجابة. استخدم متغيرات الاستجابة لاستخراج قيمة من الطلب والإشارة إليها في طلب لاحق. تعرف على المزيد حول متغيرات الاستجابة.
responseVariables.extractorType string آلية استخراج قيمة من إخراج الاستجابة. القيم المعتمدة هي XPathExtractor و JSONExtractor و RegularExpression.
responseVariables.expression string تعبير لاسترداد إخراج الاستجابة. يعتمد التعبير على قيمة نوع المستخرج.
responseVariables.variableName string اسم متغير الاستجابة الفريد. يمكنك الرجوع إلى هذا المتغير في طلب لاحق باستخدام بناء الجملة {$variable-name} .
queryParameters صفيف قائمة معلمات سلسلة الاستعلام لتمريرها إلى نقطة النهاية.
queryParameters.key string اسم معلمة سلسلة الاستعلام.
queryParameters.value string قيمة معلمة سلسلة الاستعلام.
requestType string نوع الطلب. القيم المدعومة هي: URL أو CURL.
endpoint string عنوان URL لنقطة نهاية التطبيق للاختبار.
headers صفيف قائمة رؤوس HTTP لتمريرها إلى نقطة نهاية التطبيق. حدد زوجا من قيم المفاتيح لكل رأس.
body string نص أساسي لطلب HTTP. يمكنك استخدام requestBodyFormat لتحديد تنسيق محتوى النص الأساسي.
requestBodyFormat string تنسيق محتوى النص الأساسي. القيم المدعومة هي: TextوJSONJavaScriptHTML.XML
method string أسلوب HTTP لاستدعاء نقطة النهاية. القيم المدعومة هي: GETو POSTPUTو DELETEوPATCHHEAD.OPTIONS
curlCommand string الأمر cURL للتشغيل. يتطلب أن requestType يكون هو CURL.

تحتوي القصاصة البرمجية JSON التالية على مثال لطلبات ملف JSON:

{
    "version": "1.0",
    "scenarios": {
        "requestGroup1": {
            "requests": [
                {
                    "requestName": "add",
                    "responseVariables": [],
                    "queryParameters": [
                        {
                            "key": "param1",
                            "value": "value1"
                        }
                    ],
                    "requestType": "URL",
                    "endpoint": "https://www.contoso.com/orders",
                    "headers": {
                        "api-token": "my-token"
                    },
                    "body": "{\r\n  \"customer\": \"Contoso\",\r\n  \"items\": {\r\n\t  \"product_id\": 321,\r\n\t  \"count\": 50,\r\n\t  \"amount\": 245.95\r\n  }\r\n}",
                    "method": "POST",
                    "requestBodyFormat": "JSON"
                },
                {
                    "requestName": "get",
                    "responseVariables": [],
                    "requestType": "CURL",
                    "curlCommand": "curl --request GET 'https://www.contoso.com/orders'"
                },
            ],
            "csvDataSetConfigList": []
        }
    },
    "testSetup": [
        {
            "virtualUsersPerEngine": 1,
            "durationInSeconds": 600,
            "loadType": "Linear",
            "scenario": "requestGroup1",
            "rampUpTimeInSeconds": 30
        }
    ]
}

تحميل التكوين

يستخدم ملف JSON الطلبات الخصائص التالية لتعريف تكوين التحميل في الخاصية testSetup :

Property Type نوع التحميل Description
loadType string نوع نمط التحميل. القيم المدعومة هي: linearو stepو.spike
scenario string مرجع إلى مجموعة الطلبات، المحددة في الخاصية scenarios .
virtualUsersPerEngine العدد الصحيح All عدد المستخدمين الظاهريين لكل مثيل محرك اختبار.
durationInSeconds العدد الصحيح All إجمالي مدة اختبار التحميل بالثوان.
rampUpTimeInSeconds العدد الصحيح خطي، خطوة المدة بالثوان لزيادة العدد المستهدف للمستخدمين الظاهريين.
rampUpSteps العدد الصحيح Step عدد الخطوات للوصول إلى العدد المستهدف للمستخدمين الظاهريين.
spikeMultiplier العدد الصحيح تصاعد عامل ضرب عدد المستخدمين المستهدفين أثناء مدة الارتفاع.
spikeHoldTimeInSeconds العدد الصحيح تصاعد إجمالي المدة بالثوان للحفاظ على حمل الارتفاع.

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

يمكنك توزيع الحمل عبر المناطق لمحاكاة أنماط حركة مرور الحياة الحقيقية بشكل أفضل. يمكنك تحديد المناطق التي تريد إنشاء الحمل منها ومقدار الحمل الذي تريد محاكاته من كل منطقة. يمكنك القيام بذلك عن طريق تحديد اسم المنطقة وعدد مثيلات المحرك التي تريدها في تلك المنطقة. تعرف على المزيد حول إنشاء التحميل من مناطق متعددة.

Key Type القيمة الافتراضية Description
region string اسم منطقة Azure.
engineInstances العدد الصحيح عدد مثيلات المحرك لمنطقة Azure هذه.

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

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

displayName: Sample Test
testPlan: sampleScript.jmx
description: 'Load test website home page'
engineInstances: 4
testId: SampleTest
testType: Locust
splitAllCSVs: False
regionalLoadTestConfig:
- region: eastus
  engineInstances: 2
- region: eastasia
  engineInstances: 2
failureCriteria:
- p90(response_time_ms) > 10000
autoStop:
  errorPercentage: 90
  timeWindow: 60