Megosztás a következőn keresztül:


Rövid útmutató: Terheléses teszt létrehozása és futtatása a Visual Studio Code és a GitHub Copilot használatával

Megtudhatja, hogyan használhatja a Visual Studio Code-hoz készült Azure Load Testing bővítményt locust terheléses tesztek egyszerű létrehozásához a Copilot használatával, helyi iterálást és zökkenőmentes skálázást az Azure-ban. Akár a Locust, akár a teljesítménytesztelés szakértője, az Azure Load Testing bővítmény leegyszerűsíti a tesztelés létrehozását, iterációját és skálázását közvetlenül a VS Code-környezetből. Az Azure Load Testing egy felügyelt szolgáltatás, amely lehetővé teszi a terheléses teszt felhőbeli futtatását. A Locust egy nyílt forráskódú terheléstesztelési eszköz, amely lehetővé teszi az összes teszt Python-kódban való írását.

Ez a rövid útmutató végigvezeti a valós terhelési tesztek létrehozásán, finomításán és futtatásán. A végére egy teljesen működőképes terheléstesztelési szkriptet hoz létre egy Postman-gyűjteményből, egy Insomnia-gyűjteményből vagy .http-fájlból, amelyet a Copilot-alapú fejlesztésekkel bővítettek, és készen állnak a méretezésre az Azure Load Testingben.

Előfeltételek

Jótanács

A VS Code GitHub Copilot Chat szolgáltatása több AI-modellt is kínál. A modellváltáshoz használja a modellválasztót a csevegés beviteli mezőjében. Ha nem biztos abban, hogy melyiket használja, a GPT-4o-t javasoljuk.

Az útmutató megnyitása

Első lépésként nyissa meg a parancskatalógust a VS Code-ban, és futtassa a következőt: Terheléstesztelés: Útmutató megnyitása. Ez az útmutató tartalmazza a bővítmény főbb belépési pontjait.

A funkciók közvetlenül a parancskatalógusból is elérhetők a Load Testing előtaggal. Néhány gyakran használt parancs:

  • Terheléstesztelés: Sáskateszt létrehozása

  • Terheléstesztelés: Terhelésteszt futtatása (helyi)

  • Terheléstesztelés: Terhelésteszt futtatása (Azure Load Testing)

    Képernyőkép az Azure Load Testing VS Code bővítmény legfontosabb belépési pontjairól.

Locust-szkript létrehozása a Copilottal

Locust-szkriptet bármely meglévő Postman-gyűjteményből, Insomnia-gyűjteményből vagy .http-fájlból létrehozhat. Ha a fájl több kérést tartalmaz, a Copilot megkísérli őket egy egységes forgatókönyvbe sorrendbe illeszteni.

  1. Kattintson a Betöltési teszt létrehozása gombra az útmutatóban, vagy futtassa a Terheléstesztelés: Sáska létrehozása tesztet a parancskatalógusból.

  2. Kiválaszthatja a forrást a Locust-tesztszkript automatikus létrehozásához:

    • A Postman-gyűjtemény, az Insomnia-gyűjtemény vagy a .http-fájl kiválasztásával a Copilot több API-műveletet is kinyerhet, adatokat kérhet le és hitelesítési adatokat kérhet le– így teljesebb és reálisabb terheléstesztet hozhat létre.
    • Az egyetlen URL-cím kiválasztásával egyetlen végponti URL-címet adhat meg, így létrehozhat egy egyszerű szkriptet, amely testre szabható vagy kibontható.
  3. Ehhez az útmutatóhozkiválaszthatja a Minta kipróbálása: Pet Shop API-t, amely a petstore-sample.http fájl használatával hoz létre egy locust tesztszkriptet.

  4. A Copilot elemzi a kiválasztott fájlt, és létrehoz egy Locust-alapú terheléstesztelési szkriptet, automatikusan szekvenálja az API-kéréseket a valós használat szimulálása és a hitelesítés biztonságos kezelése érdekében.

  5. A szkript létrehozása után a Copilot Csevegés ablaka más telepítési lépéseket javasol, például környezeti változók definiálása. Ha a Copilot környezeti változókat javasol, hozzon létre egy .env fájlt a projektben, és adja hozzá az ajánlott értékeket.

A terheléstesztelési szkript testreszabása

A teszt futtatása előtt finomíthatja a Copilottal. A szkript megvizsgálásával például megfigyelheti, hogy minden kéréshez ugyanazt a kérelem hasznos adattartalmat küldi el:

payload = {
    "id": self.pet_id,
    "name": "Fluffy",
    "category": {"id": 1, "name": "Dogs"},
    "photoUrls": ["https://example.com/photo.jpg"],
    "tags": [{"id": 1, "name": "cute"}],
    "status": "available"
}

A teszt dinamikusabbá tétele a kérelem hasznos adatainak véletlenszerű véletlenszerű használatával:

  1. Nyissa meg a Copilot Csevegés panelt.
  2. Írja be a következőt: Randomize request payloads és nyomja le az Enter billentyűt.
  3. A Copilot egy javasolt módosítást hoz létre a véletlenszerűség bevezetéséhez.
  4. Kattintson az Alkalmazás a Szerkesztőben elemre, amely a létrehozott kódrészlet felett jelenik meg a Copilot Csevegőablakban.
  5. A módosítások áttekintése után kattintson a Keep (Tovább) gombra a szkript elfogadásához és frissítéséhez.
  6. A fájl mentése

Most minden kérés reálisabb felhasználói interakciót szimulál. A kód a következő kódrészlethez hasonlóan néz ki:

payload = {
    "id": self.pet_id,
    "name": f"Pet{random.randint(1, 1000)}",
    "category": {"id": random.randint(1, 10), "name": random.choice(["Dogs", "Cats", "Birds"])},
    "photoUrls": [f"https://example.com/photo{random.randint(1, 100)}.jpg"],
    "tags": [{"id": random.randint(1, 10), "name": random.choice(["cute", "friendly", "playful"])}],
    "status": random.choice(["available", "pending", "sold"])
}

A terhelési teszt futtatása

A terhelési tesztet kétféleképpen futtathatja:

  • Helyi futtatás gyors ellenőrzéshez
  • Futtatás az Azure Load Testingben nagy léptékű, többrégiós terheléshez

Helyi futtatás gyors ellenőrzéshez

A teszt gyors ellenőrzéséhez futtassa helyileg a Visual Studio Code-ból származó Locust használatával:

  1. Nyissa meg a parancskatalógust, és futtassa a következőt: Load Testing: Run load test (local).

  2. A Locust webes felhasználói felülete automatikusan elindul egy böngészőben. Eltarthat néhány másodpercig, amíg a Locust-kiszolgáló készen áll, és a böngésző megnyílik.

  3. Az Új betöltési teszt indítása lapon tekintse át a bemeneti mezőket, és kattintson a Start gombra. A Locust megkezdi a kérések küldését, a hibák naplózását és a teljesítménystatisztikák nyomon követését.

    Képernyőkép a Locust webes felhasználói felületről a terhelési teszt helyi futtatásához.

  4. A Locust felhasználói felületének megismerése a válaszidők, a hibaarányok és a kérések átviteli sebességének elemzéséhez.

    Képernyőkép a Locust webes felhasználói felületről a teszteredmények helyi megtekintéséhez és elemzéséhez.

Jótanács

Ha a Locust a hibákról és Retrieve Pet a Update Pet kérelmekről számol be, annak az lehet az oka, hogy a Pet Store API hogyan dolgozza fel a kéréseket. Kérje meg a Copilot, hogy "Szúrjon be véletlenszerű késéseket a kérések között run_scenario". Ha a szkripttel kapcsolatos problémára gyanakszik, állítsa be DEBUG_MODE=True környezeti változóként, és futtassa újra a tesztet, hogy részletesebb hibakeresési információkat kapjon.

Ha a tesztet egy VS Code-terminálból szeretné futtatni:

  1. Nyisson meg egy terminált a VS Code-ban.

  2. Futtassa a következő parancsot:

    locust -f path/to/locustfile.py -u 10 -r 2 --run-time 1m
    
    • -f path/to/locustfile.py: Megadja a Locust-tesztszkriptet.
    • -u 10: Legfeljebb 10 virtuális felhasználót szimulál.
    • -r 2: Másodpercenként két virtuális felhasználót nyit meg.
    • --run-time 1m: A tesztet 1 percig futtatja.
  3. Nyisson meg egy böngészőt a Locust webes felhasználói felületének megtekintéséhez http://0.0.0.0:8089 .

Vertikális felskálázás az Azure Load Testingben

Olyan nagy terhelésű forgatókönyvek esetén, ahol több ezer egyidejű virtuális felhasználót kell szimulálnia több régióban, futtathatja a tesztet az Azure Load Testingben.

Nagyméretű teszt végrehajtása:

  1. Nyissa meg a parancskatalógust , és futtassa a következőt: Load Testing: Run load test (Azure Load Testing).

  2. Válassza a Konfigurációs fájl létrehozása...lehetőséget.

  3. Kövesse az irányított beállítást, amely a következőket tartalmazza:

    • Jelentkezzen be az Azure-ba, és válassza ki az előfizetését.

    • Új Azure Load Testing-erőforrás létrehozása vagy meglévő kiválasztása.

    • A terhelésteszt-régiók kiválasztása a forgalom globális elosztásához.

  4. A telepítés befejezése után létrejön egy YAML-konfigurációs fájl (például loadtest.config.yaml) és hozzáadódik a munkaterület gyökérmappájához.

    • Ez a fájl definiálja a Locust-szkriptet, a betöltési paramétereket, a környezeti változókat, a régiókat és minden más fájlt (például CSV-adatkészleteket).

    • Az alapértelmezett érték 200 virtuális felhasználó, amely 120 másodpercig fut az egyes kijelölt régiókban.

    • Véglegesítse ezt a fájlt az adattárban a jövőbeli terheléstesztek végrehajtásának újbóli felhasználására és automatizálására.

  5. A Copilot a végrehajtás előtt ellenőrzi a konfigurációt. Kövesse a csevegőablakban megadott utasításokat. Ellenkező esetben, ha minden kijelentkezik, a tesztszkript és a kapcsolódó összetevők feltöltve lesznek az Azure Load Testingbe, és előkészítik a végrehajtásra. Ez a folyamat akár egy percet is igénybe vehet, és a folyamat a Kimenet panelen jelenik meg.

    Képernyőkép a terhelésteszt előrehaladásáról a VS Code kimeneti konzolján.

  6. A teszt indításakor egy értesítés (bejelentési üzenet) jelenik meg a VS Code jobb alsó sarkában. Kattintson a Megnyitás az Azure Portalon gombra a tesztvégrehajtás valós idejű figyeléséhez.

  7. A teszt indításakor megjelenik egy értesítés (bejelentési üzenet) a jobb alsó sarokban. Kattintson a Megnyitás az Azure Portalon gombra a tesztvégrehajtás valós idejű figyeléséhez.

    Képernyőkép az Azure Load Testing terheléstesztelési eredményeiről.

Jótanács

A korábbi futtatások teszteredményeinek gyors eléréséhez használja a következő parancsot : Load Testing: View load test runs.

Ebben a rövid útmutatóban a bizalmas változókat, például API_KEY egy .env fájlban tárolták és feltöltötték a felhőszolgáltatásba. Ajánlott eljárásként azonban a titkos kulcsokat biztonságosan kell kezelni az Azure Key Vaultban. A bővítmény útmutatást nyújt a beállításhoz.

Ebben a rövid útmutatóban eddig a bizalmas változókat, például API_KEY egy .env fájlban tárolták és feltöltötték a felhőszolgáltatásba. Ajánlott eljárásként azonban a titkos kulcsokat biztonságosan kell kezelni az Azure Key Vaultban. A bővítmény útmutatást nyújt a beállításhoz.

  1. Nyissa meg a Copilot Csevegőablakot , írja be @testing /setupLoadTestSecretsInAzure és nyomja le az Enter billentyűt.

  2. A Copilot végigvezeti a következő lépéseken:

  3. A Copilot végigvezeti a következő lépéseken:

    • Azure Key Vault létrehozása.
    • Felügyelt identitás hozzárendelése az Azure Load Testing-erőforráshoz.
    • Titkos kulcsok hozzáadása az Azure Key Vaulthoz.
    • A YAML-fájl konfigurálása a Key Vault titkos kulcsainak hivatkozására ahelyett .env, hogy a .

Amikor módosítja a Locust-szkriptet vagy a YAML-konfigurációt, újra futtathatja a tesztet a Run load test (Azure Load Testing) futtatásával.

Összefoglalás

Ebben a rövid útmutatóban a Visual Studio Code-hoz készült Azure Load Testing bővítményt használta locust terheléstesztek egyszerű létrehozásához a Copilot használatával, helyi iterálással és az Azure-ban történő könnyű skálázással. A VS Code-hoz készült Azure Load Testing-bővítmény leegyszerűsíti a tesztforgatókönyv valósághű tesztszkriptjének létrehozását. Az Azure Load Testing leegyszerűsíti az infrastruktúra beállításának összetettségét, hogy az alkalmazás nagy léptékű felhasználói terhelését szimulálja.

A terhelési tesztet tovább bővítheti a terhelés alatt álló alkalmazás kiszolgálóoldali metrikáinak figyeléséhez, valamint a sikertelen tesztmetrikák megadásához, hogy riasztást kapjon, ha az alkalmazás nem felel meg a követelményeknek. Annak érdekében, hogy az alkalmazás továbbra is jól teljesíthessen, integrálhatja a terheléstesztelést is a folyamatos integráció és a folyamatos üzembe helyezés (CI/CD) munkafolyamat részeként.