יצירת קובץ תצורה של YAML של בדיקת טעינה

הושלם

למד כיצד לקבוע את התצורה של בדיקת העומס ב- Azure Load Testing באמצעות YAML. השתמש בקובץ התצורה של הבדיקה YAML כדי ליצור ולהפעיל בדיקות טעינה מזרימת העבודה של פעולות GitHub.

תחביר YAML של בדיקת טעינה

תצורת בדיקת טעינה משתמשת במפתחות הבאים:

מפתח סוג חובה ערך ברירת מחדל תיאור
version מחרוזת Y גירסת מפרט בדיקת טעינה. הערך היחיד הנתמך הוא v0.1.
testId מחרוזת Y המזהה הייחודי של בדיקת העומס. הערך חייב להיות בין 2 ל- 50 תווים ([a-z0-9_-]). עבור בדיקה קיימת, באפשרותך לקבל את testId מתוך דף פרטי הבדיקה בפורטל Azure.
testName מחרוזת N הוצאה משימוש. המזהה הייחודי של בדיקת העומס. הגדרה זו מוחלפת ב- testId. עדיין תוכל לבצע בדיקות קיימות עם testName זה.
displayName מחרוזת N שם התצוגה של הבדיקה. ערך זה מוצג ברשימת הבדיקות בפורטל Azure. אם לא testId, הוא משמש כשם התצוגה.
description מחרוזת N תיאור קצר של המבחן. לערך יש אורך מרבי של 100 תווים.
testType מחרוזת Y סוג בדיקה. ערכים אפשריים:
  • URL: בדיקת עומס מבוססת-כתובת URL
  • JMX: בדיקת עומס מבוססת JMeter
testPlan מחרוזת Y הפניה לקובץ תוכנית הבדיקה.
  • אם testType: JMX: נתיב יחסי אל קובץ ה- Script של בדיקת JMeter.
  • אם testType: URL: נתיב יחסי לקובץ JSON של הבקשות.
engineInstances מספר שלם Y מספר מופעי מנגנון בדיקה מקבילים עבור הפעלת תוכנית הבדיקה.
configurationFiles מערך של מחרוזת N רשימת קבצים חיצוניים, הנדרשים על-ידי קובץ ה- Script לבדיקה. לדוגמה, קבצי נתוני CSV, תמונות או כל קובץ נתונים אחר.
Azure Load Testing מעלה את כל הקבצים באותה תיקיה שבה נמצא קובץ ה- Script לבדיקה. בקובץ ה- Script של JMeter, הפנה לקבצים חיצוניים באמצעות שם הקובץ והסר את כל פרטי נתיב הקובץ.
failureCriteria חפץ N רשימה של קריטריוני כשל של בדיקת טעינה.
autoStop מחרוזת או אובייקט N הפסק את בדיקת הטעינה באופן אוטומטי כאשר אחוז השגיאה חורג מערך.
ערכים אפשריים:
- disable: אל תעצור בדיקת טעינה באופן אוטומטי.
properties חפץ N JMeter הפניות לקובץ מאפיינים של משתמש.
zipArtifacts מערך של מחרוזת N מציין את רשימת קבצי הממצאים של zip. עבור קבצים שאינם קבצי Script של JMeter וממאפיינים של משתמש, אם גודל הקובץ עולה על 50 MB, דחס אותם לקובץ ZIP. ודא שקובץ ה- ZIP נשאר קטן מ- 50 MB. רק 5 ממצאי ZIP מותרים עם 1,000 קבצים לכל היותר בכל גודל וגודל לא דחוס של 1 GB. חל רק כאשר testType: JMX.
splitAllCSVs בוליאני N ערך False פצל את קבצי ה- CSV של הקלט באופן שווה בין כל מופעי מנוע הבדיקה.
secrets חפץ N רשימה של סודות שהקובץ JMeter אפאצ'י מפנה.
env חפץ N רשימה של משתני סביבה שקובץ ה- Script של Apache JMeter מפנה אליו.
certificates חפץ N רשימה של אישורי לקוח לאימות עם נקודות קצה של יישום בקובץ ה- Script של JMeter.
keyVaultReferenceIdentity מחרוזת N מזהה משאב של הזהות המנוהלת שהוקצתה למשתמש לגישה אל הסודות מתוך Azure Key Vault. אם אתה משתמש זהות המנוהלת על-ידי המערכת, מידע זה אינו נדרש. הקפד להעניק לזהות שהוקצתה למשתמש זה גישה לכספת של מקשים ב- Azure.
subnetId מחרוזת N מזהה משאב של רשת המשנה של הרשת הווירטואלית לבדיקה של נקודות קצה המתארחות באופן פרטי. רשת משנה זו מארחת את המחשבים הווירטואליים של מנגנון הבדיקה שהוזרקה.
publicIPDisabled בוליאני N הפוך את הפריסה של כתובת IP ציבורית, מאזן עומסים וקבוצת אבטחת רשת ללא זמינה בעת בדיקת נקודת קצה פרטית.

המקטע הבא של YAML מכיל תצורה לדוגמה של בדיקת טעינה.

version: v0.1
testId: SampleTest
displayName: Sample Test
description: Load test website home page
testPlan: SampleTest.jmx
testType: JMX
engineInstances: 1
subnetId: /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/sample-rg/providers/Microsoft.Network/virtualNetworks/load-testing-vnet/subnets/load-testing
configurationFiles:
  - 'sampledata.csv'
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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/sample-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-identity

קביעת תצורה של פרמטרים של טעינה

כדי לדמות תעבורת משתמשים עבור היישום שלך, באפשרותך לקבוע את תצורת תבנית הטעינה ואת מספר המשתמשים הווירטואליים שעבורם ברצונך לדמות טעינה. Azure Load Testing יכול להקטין את קנה המידה של מספר המשתמשים הווירטואליים המדמה תעבורה ליישום שלך על-ידי הפעלת בדיקת העומס במופעים רבים של מנגנון בדיקה מקבילי. תבנית הטעינה קובעת כיצד ההפצה של העומס לאורך משך בדיקת הטעינה. דוגמאות לתבניות טעינה הן ליניאריות, חוראו עומס.

בהתאם לסוג בדיקת העומס, מבוסס-URL או מבוסס-JMeter, יש לך אפשרויות שונות לקבוע את תצורת טעינת היעד ואת תבנית הטעינה. הטבלה הבאה מפרטת את ההבדלים בין שני סוגי הבדיקות.

סוג בדיקה מספר המשתמשים הווירטואליים תבנית טעינה
מבוסס-כתובת URL (בסיסי) ציין את מספר היעד של משתמשים וירטואליים בתצורה של בדיקת הטעינה. תבנית טעינה ליניאארית, בהתבסס על זמן השיפוע ומספר המשתמשים הווירטואליים.
מבוסס-כתובת URL (מתקדם) ציין את מספר מנועי הבדיקה ואת מספר המשתמשים הווירטואליים לכל מופע בתצורה של בדיקת הטעינה. קבע את תצורת תבנית הטעינה (ליניארי, שלב, דקר).
מבוסס JMeter ציין את מספר מנועי הבדיקה בתצורה של בדיקת הטעינה. ציין את מספר המשתמשים הווירטואליים בקובץ ה- Script לבדיקה. קבע את תצורת תבנית הטעינה בקובץ ה- Script לבדיקה.

קביעת תצורה של פרמטרים של טעינה עבור בדיקות מבוססות JMeter

עבור זרימות עבודה של פעולת GitHub, עליך לקבוע את התצורה של מספר מופעי המנוע בקובץ התצורה של בדיקת YAML. אתה מאחסן את קובץ התצורה של בדיקת הטעינה לצד קובץ ה- Script של בדיקת JMeter במאגר בקרת המקור.

הדוגמה הבאה מגדירה בדיקת טעינה שפועלת על-פני 10 מופעים מקבילים של מנגנון בדיקה.

קבע את תצורת מספר המופעים של מנגנון הבדיקה בהגדרת engineInstances זו.

    version: v0.1
    testId: SampleTestCICD
    displayName: Sample test from CI/CD
    testPlan: SampleTest.jmx
    description: Load test website home page
    engineInstances: 10