Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erfahren Sie, wie Sie die Azure Load Testing-Erweiterung für Visual Studio Code verwenden, um Locust-Ladetests mit Copilot einfach zu erstellen, lokal zu durchlaufen und in Azure mühelos zu skalieren. Ganz gleich, ob Sie neu bei Locust oder einem Leistungstestexperten sind, die Azure Load Testing-Erweiterung optimiert die Testerstellung, Iteration und Skalierung direkt aus Ihrer VS Code-Umgebung. Azure Load Testing ist ein verwalteter Dienst, mit dem Sie einen Auslastungstest im Cloudmaßstab ausführen können. Locust ist ein Open Source Load Testing Tool, mit dem Sie alle Ihre Tests in Python-Code schreiben können.
Diese Schnellstartanleitung führt Sie durch das Generieren, Verfeinern und Ausführen realistischer Auslastungstests. Am Ende verfügen Sie über ein voll funktionsfähiges Lastentestskript, das aus einer Postman-Sammlung, Einer Schlaflosigkeitssammlung oder HTTP-Datei generiert wurde, die mit Copilot-basierten Verbesserungen erweitert wurde und bereit ist, in Azure Load Testing zu skalieren.
Voraussetzungen
- Azure Load Testing-Erweiterung für VS Code. Laden Sie es hier herunter, und installieren Sie es.
- GitHub Copilot. Richten Sie Copilot in VS Code ein, um Testskripts zu generieren und zu verfeinern. Wenn Sie kein Abonnement haben, können Sie eine kostenlose Testversion aktivieren.
- Python & Locust. Erforderlich, um Ihre Locust-Testskripts lokal aus VS Code auszuführen und zu validieren. Installieren Sie Locust hier.
- Ein Azure-Konto mit einem aktiven Abonnement. Zum Ausführen von Auslastungstests im Großen und Maßstab in Azure Load Testing erforderlich. Kostenlos ein Konto erstellen.
Tipp
Der GitHub Copilot Chat von VS Code bietet mehrere KI-Modelle. Sie können Modelle mithilfe der Modellauswahl im Chateingabefeld wechseln. Wenn Sie nicht sicher sind, welches zu verwenden ist, empfehlen wir GPT-4o.
Öffnen der exemplarischen Vorgehensweise
Öffnen Sie zunächst die Befehlspalette in VS Code, und führen Sie Folgendes aus: Ladentests: Exemplarische Vorgehensweise öffnen. Diese exemplarische Vorgehensweise enthält die wichtigsten Einstiegspunkte der Erweiterung.
Sie können auch direkt über die Befehlspalette auf die Features zugreifen, indem Sie das Präfix "Load Testing " verwenden. Einige häufig verwendete Befehle umfassen:
Auslastungstests: Locust-Test erstellen
Auslastungstests: Ladentest ausführen (lokal)
Auslastungstests: Ausführen des Auslastungstests (Azure Load Testing)
Generieren eines Locust-Skripts mit Copilot
Sie können ein Locust-Skript aus jeder vorhandenen Postman-Sammlung, Schlaflosigkeitssammlung oder HTTP-Datei generieren. Wenn die Datei mehrere Anforderungen enthält, versucht Copilot, sie in ein zusammenhängendes Szenario zu sequenzieren.
Klicken Sie in der exemplarischen Vorgehensweise auf die Schaltfläche " Ladentest erstellen ", oder führen Sie "Load Testing: Create Locust test " aus der Befehlspalette aus.
Sie können die Quelle auswählen, um ein Locust-Testskript automatisch zu generieren:
- Wenn Sie eine Postman-Sammlung, eine Schlaflosigkeitssammlung oder EINE HTTP-Datei auswählen, können Copilot mehrere API-Vorgänge, Anforderungsdaten und Authentifizierungsdetails extrahieren und einen vollständigeren und realistischeren Auslastungstest erstellen.
- Wenn Sie eine einzelne URL auswählen, können Sie eine einzelne Endpunkt-URL eingeben und ein einfaches Skript generieren, das Sie anpassen oder erweitern können.
Für diese exemplarische Vorgehensweise können Sie " Beispiel testen: Pet Shop-API" auswählen, die die Datei zum Generieren eines Beispiel-Locust-Testskripts verwendet.For this walkthrough, you can select Try Sample: Pet Shop API, which uses the
petstore-sample.httpfile to generate a sample Locust test script.Copilot analysiert die ausgewählte Datei und generiert ein Locust-basiertes Ladetestskript, sequenziert API-Anforderungen automatisch, um die reale Nutzung zu simulieren und die Authentifizierung sicher zu verarbeiten.
Nachdem das Skript generiert wurde, schlägt das Copilot-Chatfenster weitere Einrichtungsschritte vor, z. B. das Definieren von Umgebungsvariablen. Wenn Copilot Umgebungsvariablen vorschlägt, erstellen Sie eine
.envDatei in Ihrem Projekt, und fügen Sie die empfohlenen Werte hinzu.
Anpassen des Ladetestskripts
Bevor Sie den Test ausführen, können Sie ihn mit Copilot verfeinern. Wenn Sie beispielsweise das Skript untersuchen, stellen Sie möglicherweise fest, dass die gleiche Anforderungsnutzlast mit jeder Anforderung gesendet wird:
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"
}
So machen Sie den Test dynamischer, indem Die Anforderungsnutzlast zufällig festgelegt wird:
- Öffnen Sie den Bereich "Copilot-Chat ".
- Geben Sie Folgendes ein:
Randomize request payloadsund drücken Sie die EINGABETASTE. - Copilot generiert eine vorgeschlagene Änderung zur Einführung von Zufallszahlen.
- Klicken Sie im Editor auf "Übernehmen" , der oberhalb des generierten Codeausschnitts im Copilot-Chatfenster angezeigt wird.
- Klicken Sie nach der Überprüfung der Änderungen auf "Übernehmen " und aktualisieren Sie Ihr Skript.
- Speichern der Datei
Jetzt simuliert jede Anforderung eine realistischere Benutzerinteraktion. Der Code sieht ungefähr wie der folgende Codeausschnitt aus:
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"])
}
Auslastungstest ausführen
Sie können den Auslastungstest auf zwei Arten ausführen:
- Lokal zur schnellen Überprüfung ausführen
- Ausführen in Azure Load Testing für eine hochskalige, mehrstufige Last
Lokal zur schnellen Überprüfung ausführen
Um den Test schnell zu überprüfen, führen Sie ihn lokal mithilfe von Locust aus Visual Studio Code aus:
Öffnen Sie die Befehlspalette, und führen Sie Folgendes aus : Load Testing: Run load test (local).
Die Locust-Web-UI wird automatisch in einem Browser gestartet. Es kann einige Sekunden dauern, bis der Locust-Server bereit ist und der Browser geöffnet wird.
Überprüfen Sie auf der Seite " Neue Auslastungstest starten" die Eingabefelder, und klicken Sie auf "Start". Locust startet das Senden von Anforderungen, das Protokollieren von Fehlern und das Nachverfolgen von Leistungsstatistiken.
Erkunden Sie die Locust-Benutzeroberfläche , um Reaktionszeiten, Fehlerraten und Anforderungsdurchsatz zu analysieren.
Tipp
Wenn Locust Fehler für die Retrieve Pet und Update Pet Anforderungen meldet, kann dies darauf zurückzuführen sein, wie die Pet Store-API Anforderungen verarbeitet. Versuchen Sie, Copilot aufzufordern, "zufällige Verzögerungen zwischen Anforderungen in run_scenario" hinzuzufügen. Wenn Sie ein Problem mit dem Skript selbst vermuten, legen Sie es als Umgebungsvariable fest DEBUG_MODE=True , und führen Sie den Test erneut aus, um detailliertere Debuginformationen zu erhalten.
Wenn Sie den Test lieber über ein VS-Codeterminal ausführen möchten:
Öffnen Sie ein Terminal in VS Code.
Führen Sie den folgenden Befehl aus:
locust -f path/to/locustfile.py -u 10 -r 2 --run-time 1m-
-f path/to/locustfile.py: Gibt das Locust-Testskript an. -
-u 10: Simuliert bis zu 10 virtuelle Benutzer. -
-r 2: Öffnet zwei virtuelle Benutzer pro Sekunde. -
--run-time 1m: Führt den Test 1 Minute lang aus.
-
Öffnen Sie einen Browser, um
http://0.0.0.0:8089die Locust-Web-UI anzuzeigen.
Skalieren in Azure Load Testing
Für Szenarien mit hoher Auslastung, in denen Sie viele Tausend gleichzeitige virtuelle Benutzer in mehreren Regionen simulieren müssen, können Sie Ihren Test in Azure Load Testing ausführen.
So führen Sie einen großen Test aus:
Öffnen Sie die Befehlspalette , und führen Sie Folgendes aus: Load Testing: Run load test (Azure Load Testing).
Wählen Sie " Konfigurationsdatei erstellen..." aus.
Folgen Sie der geführten Einrichtung, die Folgendes umfasst:
Melden Sie sich bei Azure an, und wählen Sie Ihr Abonnement aus.
Erstellen einer neuen Azure Load Testing-Ressource oder Auswählen einer vorhandenen Ressource.
Auswählen von Auslastungstestbereichen zum globalen Verteilen des Datenverkehrs.
Nach Abschluss des Setups wird eine YAML-Konfigurationsdatei (z. B
loadtest.config.yaml. ) generiert und dem Stammordner des Arbeitsbereichs hinzugefügt.Diese Datei definiert das Locust-Skript, Ladeparameter, Umgebungsvariablen, Regionen und andere Dateien (z. B. CSV-Datasets).
Standardwerte sind 200 virtuelle Benutzer, die für 120 Sekunden in den einzelnen ausgewählten Regionen ausgeführt werden.
Übernehmen Sie diese Datei in Ihrem Repository, um zukünftige Auslastungstestausführungen wiederzuverwenden und zu automatisieren.
Copilot überprüft die Konfiguration vor der Ausführung. Folgen Sie den Anweisungen im Chatfenster. Andernfalls werden das Testskript und die zugehörigen Artefakte in Azure Load Testing hochgeladen und für die Ausführung vorbereitet. Dieser Vorgang kann bis zu einer Minute dauern, und der Fortschritt wird im Ausgabebereich angezeigt.
Wenn der Test gestartet wird, wird in der unteren rechten Ecke von VS Code eine Benachrichtigung (Popupmeldung) angezeigt. Klicken Sie auf die Schaltfläche " In Azure Portal öffnen ", um die Testausführung in Echtzeit zu überwachen.
Wenn der Test gestartet wird, wird in der unteren rechten Ecke eine Benachrichtigung (Popupmeldung) angezeigt. Klicken Sie auf die Schaltfläche " In Azure Portal öffnen ", um die Testausführung in Echtzeit zu überwachen.
Tipp
Um schnell auf Testergebnisse aus früheren Ausführungen zuzugreifen, verwenden Sie den Befehl" " Ladentests: Auslastungstest anzeigen".
In dieser Schnellstartanleitung wurden vertrauliche Variablen wie API_KEY in einer .env Datei gespeichert und in den Clouddienst hochgeladen. Als bewährte Methode sollten geheime Schlüssel jedoch sicher in Azure Key Vault verwaltet werden. Die Erweiterung enthält Anleitungen zum Einrichten dieses Vorgangs.
Bisher in dieser Schnellstartanleitung wurden vertrauliche Variablen wie API_KEY in einer .env Datei gespeichert und in den Clouddienst hochgeladen. Als bewährte Methode sollten geheime Schlüssel jedoch sicher in Azure Key Vault verwaltet werden. Die Erweiterung enthält Anleitungen zum Einrichten dieses Vorgangs.
Öffnen Sie das Fenster "Copilot-Chat ", geben Sie ein
@testing /setupLoadTestSecretsInAzure, und drücken Sie die EINGABETASTE.Copilot führt Sie durch die folgenden Schritte:
Copilot führt Sie durch:
- Erstellen eines Azure Key Vault.
- Zuweisen einer verwalteten Identität zu Ihrer Azure Load Testing-Ressource.
- Hinzufügen von geheimen Schlüsseln zu Azure Key Vault.
- Konfigurieren Der YAML-Datei für den Verweis auf Schlüsseltresorschlüssel anstelle von
.env.
Immer wenn Sie Das Locust-Skript oder die YAML-Konfiguration ändern, können Sie den Test erneut ausführen, indem Sie "Run load test" (Azure Load Testing) ausführen.
Zusammenfassung
In dieser Schnellstartanleitung haben Sie die Azure Load Testing-Erweiterung für Visual Studio Code verwendet, um Locust-Ladetests mit Copilot einfach zu erstellen, lokal zu durchlaufen und in Azure mühelos zu skalieren. Die Azure Load Testing-Erweiterung für VS Code vereinfacht den Prozess der Erstellung eines realistischen Testskripts für Ihr Testszenario. Azure Load Testing abstrahiert die Komplexität der Einrichtung der Infrastruktur zum Simulieren der hohen Benutzerlast für Ihre Anwendung.
Sie können den Auslastungstest weiter erweitern, um auch serverseitige Metriken der Anwendung unter Auslastung zu überwachen und Testfehlermetriken anzugeben, um benachrichtigt zu werden, wenn die Anwendung Ihre Anforderungen nicht erfüllt. Um sicherzustellen, dass die Anwendung weiterhin gut funktioniert, können Sie auch Auslastungstests als Teil Ihres Continuous Integration und Continuous Delivery (CI/CD) Workflows integrieren.
Verwandte Inhalte
- Erfahren Sie, wie Sie serverseitige Metriken für Ihre Anwendung überwachen.
- Erfahren Sie, wie Sie automatisierte Leistungstests mit CI/CD konfigurieren.