Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Meer informatie over het gebruik van de Azure Load Testing-extensie voor Visual Studio Code om eenvoudig locust-belastingstests te maken met Copilot, lokaal te herhalen en moeiteloos te schalen in Azure. Of u nu geen ervaring hebt met Locust of een expert voor prestatietests, de Azure Load Testing-extensie stroomlijnt het maken, itereren en schalen van tests, rechtstreeks vanuit uw VS Code-omgeving. Azure Load Testing is een beheerde service waarmee u een belastingstest kunt uitvoeren op cloudschaal. Locust is een opensource-hulpprogramma voor belastingstests waarmee u al uw tests in Python-code kunt schrijven.
Deze quickstart begeleidt u bij het genereren, verfijnen en uitvoeren van realistische belastingstests. Aan het einde hebt u een volledig functioneel laadtestscript dat is gegenereerd op basis van een Postman-verzameling, Insomnia-verzameling, of een .http-bestand, verbeterd met Copilot-verbeteringen en klaar om te schalen in Azure Load Testing.
Vereiste voorwaarden
- Azure Load Testing-extensie voor VS Code. Download en installeer het hier.
- GitHub Copilot. Stel Copilot in VS Code in om testscripts te genereren en verfijnen. Als u geen abonnement hebt, kunt u een gratis proefversie activeren.
- Python & Locust. Vereist om uw Locust-testscripts lokaal vanuit VS Code uit te voeren en te valideren. Installeer Locust hier.
- Een Azure-account met een actief abonnement. Nodig om belastingstests op schaal uit te voeren in Azure Load Testing. Gratis een account maken
Aanbeveling
GitHub Copilot Chat van VS Code biedt meerdere AI-modellen. U kunt van model wisselen met behulp van de modelkiezer in het invoerveld van de chat. Als u niet zeker weet welke te gebruiken, raden we GPT-4o aan.
De handleiding openen
Open het opdrachtenpalet in VS Code en voer het volgende uit: Load Testing: Open Walkthrough om aan de slag te gaan. Deze handleiding biedt de belangrijkste toegangspunten van de extensie.
U kunt de functies ook rechtstreeks vanuit het opdrachtenpalet openen met behulp van het voorvoegsel Load Testing . Enkele veelgebruikte opdrachten zijn:
Loadtesten: Locust-test maken
Belastingstests: Belastingstest uitvoeren (lokaal)
Load testen: Loadtest uitvoeren (Azure Load Testing)
Een Locust-script genereren met Copilot
U kunt een Locust-script genereren op basis van een bestaande Postman-verzameling, slapeloosheidsverzameling of .http-bestand. Als het bestand meerdere aanvragen bevat, probeert Copilot deze in een samenhangend scenario te rangorde.
Klik op de knop Een belastingstest maken in het overzicht of voer Belastingstests uit: Een Locust-test maken vanuit het opdrachtenpalet.
U kunt de bron kiezen om automatisch een locust-testscript te genereren:
- Als u een Postman-verzameling, een slapeloosheidsverzameling of een HTTP-bestand selecteert, kan Copilot meerdere API-bewerkingen extraheren, gegevens aanvragen en verificatiedetails, waardoor een volledigere en realistische belastingstest wordt gemaakt.
- Als u één URL kiest, kunt u één eindpunt-URL invoeren en een eenvoudig script genereren dat u kunt aanpassen of uitvouwen.
Voor deze procedure kunt u Try Sample selecteren: Pet Shop-API, die gebruikmaakt van het
petstore-sample.httpbestand om een voorbeeldscript voor locust te genereren.Copilot analyseert het geselecteerde bestand en genereert een loadtestscript op basis van locust, waarbij API-aanvragen automatisch worden gesequentieerd om het werkelijke gebruik te simuleren en verificatie veilig te verwerken.
Zodra het script is gegenereerd, worden in het Copilot Chat-venster andere installatiestappen voorgesteld, zoals het definiëren van omgevingsvariabelen. Als Copilot omgevingsvariabelen voorstelt, maakt u een
.envbestand in uw project en voegt u de aanbevolen waarden toe.
Het belastingtestscript aanpassen
Voordat u de test uitvoert, kunt u deze verfijnen met Copilot. Als u bijvoorbeeld het script bekijkt, ziet u mogelijk dat dezelfde nettolading van de aanvraag wordt verzonden bij elke aanvraag:
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"
}
De test dynamischer maken door de payload van het verzoek te randomiseren.
- Open het Copilot Chat-deelvenster .
- Typ:
Randomize request payloadsen druk op Enter. - Copilot genereert een voorgestelde wijziging om randomisatie te introduceren.
- Klik op Toepassen in editor die boven het gegenereerde codefragment wordt weergegeven in het Copilot Chat-venster.
- Nadat u de wijzigingen hebt bekeken, klikt u op Behouden om het script te accepteren en bij te werken.
- Het bestand opslaan
Nu simuleert elke aanvraag een realistischere gebruikersinteractie. De code ziet er ongeveer als volgt uit:
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"])
}
De belastingstest uitvoeren
U kunt uw belastingtest op twee manieren uitvoeren:
- Lokaal uitvoeren voor snelle validatie
- Uitvoeren in Azure Load Testing voor grootschalige belasting in meerdere regio's
Lokaal uitvoeren voor snelle validatie
Als u uw test snel wilt valideren, voert u deze lokaal uit met behulp van Locust vanuit Visual Studio Code:
Open het opdrachtenpalet en voer uit: Load Testing: Run load test (local).
De webinterface van Locust wordt automatisch gestart in een browser. Het kan enkele seconden duren voordat de Locust-server gereed is en de browser is geopend.
Controleer op de pagina Nieuwe belastingproef starten de invoervelden en klik op Start. Locust begint met het verzenden van aanvragen, het vastleggen van eventuele fouten en het bijhouden van prestatiestatistieken.
Verken de locust-gebruikersinterface om reactietijden, foutpercentages en aanvraagdoorvoer te analyseren.
Aanbeveling
Als Locust fouten rapporteert voor de Retrieve Pet en Update Pet aanvragen, kan dit worden veroorzaakt door de wijze waarop aanvragen door de Pet Store-API worden verwerkt. Vraag Copilot om 'Willekeurige vertragingen tussen aanvragen in run_scenario toevoegen'. Als u een probleem met het script zelf vermoedt, stelt u deze DEBUG_MODE=True in als een omgevingsvariabele en voert u de test opnieuw uit om gedetailleerdere foutopsporingsgegevens op te halen.
Als u liever de test uitvoert vanuit een VS Code-terminal:
Open een terminal in VS Code.
Voer de volgende opdracht uit:
locust -f path/to/locustfile.py -u 10 -r 2 --run-time 1m-
-f path/to/locustfile.py: Hiermee geeft u het locust-testscript op. -
-u 10: simuleert maximaal 10 virtuele gebruikers. -
-r 2: er worden twee virtuele gebruikers per seconde toegevoegd. -
--run-time 1m: Voert de test 1 minuut uit.
-
Open een browser en ga naar
http://0.0.0.0:8089om de webgebruikersinterface van Locust weer te geven.
Opschalen in Azure Load Testing
Voor scenario's met hoge belasting waarbij u veel duizenden gelijktijdige virtuele gebruikers in meerdere regio's moet simuleren, kunt u uw test uitvoeren in Azure Load Testing.
Een grootschalige test uitvoeren:
Open het opdrachtenpalet en voer het volgende uit: Belastingstest uitvoeren (Azure Load Testing).
Selecteer Een configuratiebestand maken....
Volg de begeleide installatie, waaronder:
Meld u aan bij Azure en selecteer uw abonnement.
Een nieuwe Azure Load Testing-resource maken of een bestaande resource selecteren.
Kies regio's voor belastingstests om verkeer wereldwijd te distribueren.
Zodra de installatie is voltooid, wordt er een YAML-configuratiebestand (bijvoorbeeld
loadtest.config.yaml) gegenereerd en toegevoegd aan de hoofdmap van uw werkruimte.Dit bestand definieert het locust-script, laadparameters, omgevingsvariabelen, regio's en andere bestanden (bijvoorbeeld CSV-gegevenssets).
Standaardwaarden zijn 200 virtuele gebruikers die gedurende 120 seconden in elke geselecteerde regio worden uitgevoerd.
Voer dit bestand in uw opslagplaats in om toekomstige belastingtestuitvoeringen opnieuw te gebruiken en te automatiseren.
Copilot valideert de configuratie vóór uitvoering. Volg eventuele instructies in het chatvenster. Als alles wordt uitgecheckt, worden het testscript en de bijbehorende artefacten geüpload naar Azure Load Testing en voorbereid op uitvoering. Dit proces kan tot een minuut duren en de voortgang wordt weergegeven in het deelvenster Uitvoer .
Wanneer de test wordt gestart, wordt er een melding (pop-upbericht) weergegeven in de rechterbenedenhoek van VS Code. Klik op de knop Openen in Azure Portal om de testuitvoering in realtime te controleren.
Wanneer de test begint, verschijnt een melding (toastmelding) in de rechterbenedenhoek. Klik op de knop Openen in Azure Portal om de testuitvoering in realtime te controleren.
Aanbeveling
Als u snel toegang wilt krijgen tot testresultaten uit eerdere uitvoeringen, gebruikt u de opdracht: Belastingstestuitvoeringen weergeven.
In deze quickstart zijn gevoelige variabelen zoals API_KEY opgeslagen in een .env bestand en geüpload naar de cloudservice. Als best practice moeten geheimen echter veilig worden beheerd in Azure Key Vault. De extensie biedt richtlijnen voor het instellen hiervan.
Tot nu toe in deze quickstart zijn gevoelige variabelen zoals API_KEY opgeslagen in een .env bestand en geüpload naar de cloudservice. Als best practice moeten geheimen echter veilig worden beheerd in Azure Key Vault. De extensie biedt richtlijnen voor het instellen hiervan.
Open het Copilot Chat-venster , typ
@testing /setupLoadTestSecretsInAzureen druk op Enter.Copilot begeleidt u door de volgende stappen:
Copilot begeleidt u door:
- Een Azure Key Vault maken.
- Een beheerde identiteit toewijzen aan uw Azure Load Testing-resource.
- Geheimen toevoegen aan Azure Key Vault.
- Uw YAML-bestand configureren om te verwijzen naar Key Vault-geheimen in plaats van
.env.
Wanneer u uw Locust-script of YAML-configuratie wijzigt, kunt u de test opnieuw uitvoeren door De belastingstest uitvoeren (Azure Load Testing) uit te voeren.
Samenvatting
In deze quickstart hebt u de Azure Load Testing-extensie voor Visual Studio Code gebruikt om eenvoudig locust-belastingtests te maken met behulp van Copilot, lokaal te herhalen en moeiteloos te schalen in Azure. De Azure Load Testing-extensie voor VS Code vereenvoudigt het proces van het maken van een realistisch testscript voor uw testscenario. Azure Load Testing abstraheert de complexiteit van het instellen van de infrastructuur voor het simuleren van gebruikersbelasting op grote schaal voor uw toepassing.
U kunt de belastingstest verder uitbreiden om ook metrische gegevens aan de serverzijde van de toepassing onder belasting te bewaken en om metrische gegevens over mislukte tests op te geven om gewaarschuwd te worden wanneer de toepassing niet aan uw vereisten voldoet. Om ervoor te zorgen dat de toepassing goed blijft presteren, kunt u ook belastingtests integreren als onderdeel van uw CI/CD-werkstroom (continue integratie en continue implementatie).
Verwante inhoud
- Meer informatie over het bewaken van metrische gegevens aan de serverzijde voor uw toepassing.
- Meer informatie over het configureren van geautomatiseerde prestatietests met CI/CD.