Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Naučte se používat rozšíření Azure Load Testing pro Visual Studio Code k snadnému vytváření zátěžových testů pomocí Copilotu, jejich lokální iteraci a snadnému škálování v Azure. Ať už jste nováček ve výkonnostním testování nebo odborník na testování výkonu, rozšíření Azure Load Testing zjednodušuje vytváření testů, iteraci a škálování přímo ve vašem prostředí VS Code. Azure Load Testing je spravovaná služba, která umožňuje spustit zátěžový test v cloudovém měřítku. Locust je open-sourceový nástroj pro zátěžové testování, který umožňuje psát všechny vaše testy v Pythonu.
Tento krátký průvodce vás provede generováním, zdokonalováním a spouštěním realistických zátěžových testů. Na závěr máte plně funkční skript zátěžového testu vygenerovaný z kolekce Postman, kolekce Insomnia nebo souboru .http, vylepšený pomocí funkcí Copilot a připravený pro škálování v Azure Load Testing.
Požadavky
- Rozšíření Azure Load Testing pro VS Code Stáhněte si ho a nainstalujte si ho tady.
- GitHub Copilot. Nastavení Copilotu ve VS Code pro generování a upřesnění testovacích skriptů Pokud předplatné nemáte, můžete si aktivovat bezplatnou zkušební verzi.
- Python a Locust. Pro spuštění a ověření vašich testovacích skriptů Locust místně z VS Code. Sem nainstalujte Locust.
- Účet Azure s aktivním předplatným. Potřebné ke spouštění zátěžových testů ve velkém měřítku v Azure Load Testing. Vytvořte si bezplatný účet.
Tip
GitHub Copilot Chat v rámci VS Code nabízí několik modelů umělé inteligence. Modely můžete přepínat pomocí výběru modelu v poli pro zadávání chatu. Pokud si nejste jistí, který z nich se má použít, doporučujeme GPT-4o.
Otevřete návod
Začněte tím, že otevřete paletu příkazů ve VS Code a spusťte: Zátěžové testování: Otevřít průvodce. Tento průvodce poskytuje klíčové vstupní body rozšíření.
K funkcím můžete přistupovat také přímo z palety příkazů pomocí předpony Zátěžové testování . Mezi běžně používané příkazy patří:
Zátěžové testování: Vytvoření testu v Locustu
Zátěžové testování: Spuštění zátěžového testu (místní)
Zátěžové testování: Spuštění zátěžového testu (Zátěžové testování Azure)
Vygenerujte skript Locust s využitím Copilotu.
Locust skript můžete vygenerovat z jakékoli existující Postman kolekce, Insomnia kolekce nebo souboru .http. Pokud soubor obsahuje více požadavků, copilot se pokusí je sekvencovat do soudržného scénáře.
V návodu klikněte na tlačítko Vytvořit zátěžový test nebo spusťte zátěžové testování: Vytvořit Locust test z příkazové palety.
Můžete zvolit zdroj pro automatické vygenerování testovacího skriptu Locust.
- Výběrem kolekce Postman, kolekce režimu spánku nebo souboru .http umožňuje Copilot extrahovat více operací rozhraní API, vyžádat data a podrobnosti o ověřování – vytvoření ucelenějšího a realističtějšího zátěžového testu.
- Když zvolíte jednu adresu URL , můžete zadat jednu adresu URL koncového bodu a vygenerovat jednoduchý skript, který můžete přizpůsobit nebo rozbalit.
Pro účely tohoto názorného postupu můžete vybrat vyzkoušet ukázku: Pet Shop API, který používá soubor
petstore-sample.httpk vygenerování ukázkového testovacího skriptu Python.Copilot analyzuje vybraný soubor a vygeneruje skript zátěžového testu založený na Locustu, který automaticky sekvencuje požadavky rozhraní API pro simulaci skutečného využití a bezpečné zpracování ověření.
Po vygenerování skriptu okno Copilot Chat navrhne další kroky nastavení, například definování proměnných prostředí. Pokud Copilot navrhne proměnné prostředí, vytvořte
.envv projektu soubor a přidejte doporučené hodnoty.
Přizpůsobení skriptu zátěžového testu
Před spuštěním testu ho můžete upřesnit pomocí Copilotu. Například prozkoumáním skriptu si můžete všimnout, že se s každým požadavkem odešle stejná datová část požadavku:
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"
}
Pokud chcete, aby byl test dynamičtější náhodným nastavením datové části požadavku:
- Otevřete panel chatu Copilot .
- Zadejte:
Randomize request payloadsa stiskněte Enter. - Copilot vygeneruje navrženou úpravu pro zavedení randomizace.
- Klikněte na Použít v Editoru , který se zobrazí nad vygenerovaným fragmentem kódu v okně Copilot Chat.
- Po zkontrolování změn kliknutím na Tlačítko Zachovat přijměte a aktualizujte skript.
- Uložení souboru
Každý požadavek teď simuluje realističtější interakci uživatelů. Kód vypadá přibližně jako následující fragment kódu:
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"])
}
Spuštění zátěžového testu
Zátěžový test můžete spustit dvěma způsoby:
- Místní spuštění pro rychlé ověření
- Spuštění ve službě Azure Load Testing pro vysoce škálovatelné zatížení ve více oblastech
Místní spuštění pro rychlé ověření
Pokud chcete test rychle ověřit, spusťte ho místně pomocí Locust z Visual Studio Code:
Otevřete paletu příkazů a spusťte: Zátěžové testování: Spusťte zátěžový test (místní).
Webové uživatelské rozhraní Locust se automaticky spustí v prohlížeči. Může trvat několik sekund, než bude server Locust připravený a prohlížeč se otevře.
Na stránce Spustit nový zátěžový test zkontrolujte vstupní pole a klikněte na Tlačítko Start. Locust začíná odesílat žádosti, zaznamenávat případné chyby a sledovat statistiky výkonu.
Prozkoumejte uživatelské rozhraní Locust a analyzujte dobu odezvy, chybovost a propustnost požadavků.
Tip
Pokud Locust hlásí selhání u žádostí Retrieve Pet a Update Pet, může to být způsobeno tím, jak rozhraní API Pet Store zpracovává požadavky. Zkuste Copilotovi zadat úkol "Přidej náhodná zpoždění mezi požadavky v run_scenario". Pokud máte podezření na problém se samotným skriptem, nastavte DEBUG_MODE=True ho jako proměnnou prostředí a znovu spusťte test, abyste získali podrobnější informace o ladění.
Pokud chcete test spustit z terminálu VS Code:
Otevřete terminál ve VS Code.
Spusťte následující příkaz:
locust -f path/to/locustfile.py -u 10 -r 2 --run-time 1m-
-f path/to/locustfile.py: Určuje testovací skript Locust. -
-u 10: Simuluje až 10 virtuálních uživatelů. -
-r 2: Zvyšuje dva virtuální uživatele za sekundu. -
--run-time 1m: Spustí test po dobu 1 minuty.
-
Otevřete prohlížeč na
http://0.0.0.0:8089a zobrazte webové uživatelské rozhraní Locust.
Škálování nahoru v Azure Load Testing
Ve scénářích s vysokým zatížením, ve kterých potřebujete simulovat mnoho tisíc souběžných virtuálních uživatelů ve více oblastech, můžete test spustit v Azure Load Testing.
Provedení rozsáhlého testu:
Otevřete paletu příkazů a spusťte: Zátěžové testování: Spusťte zátěžový test (Zátěžové testování Azure).
Vyberte Vytvořit konfigurační soubor....
Postupujte podle asistovaného nastavení, které zahrnuje:
Přihlaste se k Azure a vyberte své předplatné.
Vytvoření nového prostředku služby Azure Load Testing nebo výběru existujícího prostředku
Výběr oblastí zátěžového testu pro globální distribuci provozu
Po dokončení instalace se vygeneruje a přidá konfigurační soubor YAML (například
loadtest.config.yaml) do kořenové složky pracovního prostoru.Tento soubor definuje skript Locust, zatěžovací parametry, proměnné prostředí, regiony a jakékoli další soubory (například datové sady CSV).
Výchozí hodnoty jsou 200 virtuálních uživatelů spuštěných po dobu 120 sekund v každé vybrané oblasti.
Potvrďte tento soubor v úložišti, abyste mohli znovu použít a automatizovat budoucí spuštění zátěžového testu.
Copilot ověří konfiguraci před spuštěním. Postupujte podle pokynů uvedených v okně chatu. V opačném případě se testovací skript a související artefakty nahrají do služby Azure Load Testing a připraví se ke spuštění. Tento proces může trvat až minutu a průběh se zobrazí na panelu Výstup .
Při spuštění testu se v pravém dolním rohu VS Code zobrazí oznámení (informační zpráva). Kliknutím na tlačítko Otevřít na webu Azure Portal můžete monitorovat provádění testů v reálném čase.
Při spuštění testu se v pravém dolním rohu zobrazí oznámení (informační zpráva). Kliknutím na tlačítko Otevřít na webu Azure Portal můžete monitorovat provádění testů v reálném čase.
Tip
Pokud chcete rychle získat přístup k výsledkům testů z předchozích spuštění, použijte příkaz: Zátěžové testování: Zobrazení spuštění zátěžového testu.
V tomto rychlém startu byly citlivé proměnné jako API_KEY uloženy do souboru .env a nahrány do cloudové služby. Jako osvědčený postup by se ale tajné kódy měly bezpečně spravovat ve službě Azure Key Vault. Toto rozšíření obsahuje pokyny k nastavení.
Zatím v tomto rychlém návodu byly citlivé proměnné, jako je API_KEY, uloženy do souboru .env a byly nahrány do cloudové služby. Jako osvědčený postup by se ale tajné kódy měly bezpečně spravovat ve službě Azure Key Vault. Toto rozšíření obsahuje pokyny k nastavení.
Otevřete okno chatu Copilot , zadejte
@testing /setupLoadTestSecretsInAzurea stiskněte Enter.Copilot vás provede následujícími kroky:
Copilot vás provede:
- Vytvoření služby Azure Key Vault
- Přiřazení spravované identity k prostředku Azure Load Testing
- Přidání tajných kódů do služby Azure Key Vault
- Konfigurace souboru YAML tak, aby odkazoval na tajemství služby Key Vault místo
.env.
Pokaždé, když upravíte skript Locustu nebo konfiguraci YAML, můžete test znovu spustit volbou Spustit zátěžový test (Azure Load Testing).
Shrnutí
V tomto rychlém startu jste použili rozšíření Azure Load Testing pro Visual Studio Code k snadnému vytváření zátěžových testů Locust pomocí Copilotu, pro iteraci v místním prostředí a snadné škálování v Azure. Rozšíření Azure Load Testing pro VS Code zjednodušuje proces vytvoření realistického testovacího skriptu pro váš testovací scénář. Azure Load Testing abstrahuje složitost nastavení infrastruktury pro simulaci vysokého zatížení uživatelů pro vaši aplikaci.
Zátěžový test můžete dále rozšířit tak, aby monitoroval metriky na straně serveru aplikace pod zatížením, a určit metriky selhání testu, aby se zobrazily upozornění, když aplikace nesplňuje vaše požadavky. Abyste zajistili, že aplikace bude i nadále fungovat dobře, můžete také integrovat zátěžové testování jako součást pracovního postupu kontinuální integrace a průběžného nasazování (CI/CD).
Související obsah
- Zjistěte, jak monitorovat metriky na straně serveru pro vaši aplikaci.
- Zjistěte, jak nakonfigurovat automatizované testování výkonu pomocí CI/CD.