Azure Load Testing-Clientbibliothek für .NET – Version 1.0.1
Azure Load Testing stellt dem Benutzer eine Clientbibliothek in .NET bereit, über die er nativ mit dem Azure Load Testing-Dienst interagieren kann. Azure Load Testing ist ein vollständig verwalteter Auslastungstestdienst, mit dem Sie eine hohe Auslastung generieren können. Der Dienst simuliert Datenverkehr für Ihre Anwendungen, unabhängig davon, wo sie gehostet werden. Fachkräfte in der Entwicklung und Qualitätssicherung sowie Tester*innen können damit die Leistung, Skalierbarkeit oder Kapazität einer Anwendung optimieren.
Quellcode | Paket (NuGet) | API-Referenzdokumentation | Produktdokumentation
Dokumentation
Es stehen verschiedene Dokumentationen zur Verfügung, die Ihnen den Einstieg erleichtern
Erste Schritte
Installieren des Pakets
Installieren Sie die Clientbibliothek für .NET mit NuGet:
dotnet add package Azure.Developer.LoadTesting
Voraussetzungen
Sie müssen über ein Azure-Abonnement und eine Azure Load Test Service-Ressource verfügen. Um die C# 8.0-Syntax nutzen zu können, empfiehlt es sich, das .NET Core SDK 3.0 oder höher mit einer Sprachversion von latest
zu kompilieren. Es ist auch möglich, mit dem .NET Core SDK 2.1.x mithilfe einer Sprachversion von preview
zu kompilieren.
Authentifizieren des Clients
Um Azure Active Directory-Tokenanmeldeinformationen (AAD) zu verwenden, geben Sie eine instance des gewünschten Anmeldeinformationstyps an, der aus der Azure-Identity-Bibliothek abgerufen wird.
Um sich mit AAD zu authentifizieren, müssen Sie zuerst die Nuget-Installation verwenden. azure-identity
Nach dem Setup können Sie auswählen, welche Art von Anmeldeinformationen aus Azure.Identity verwendet werden sollen.
Melden Sie sich beispielsweise über den Azure CLI-Befehl az login
an, und DefaultAzureCredential authentifiziert sich als dieser Benutzer.
Verwenden Sie die zurückgegebenen Tokenanmeldeinformationen, um den Client zu authentifizieren.
Wichtige Begriffe
Die folgenden Komponenten bestehen aus dem Azure Load Testing-Dienst. Mit der Azure Load Test-Clientbibliothek für C# können Sie mit jeder dieser Komponenten über Clients interagieren. Es gibt zwei Clients:
LoadTestAdministrationClient
LoadTestRunClient
Diese Clients werden zum Verwalten und Verwenden verschiedener Komponenten des Diensts verwendet. Für jede Methode in beiden Unterclients gibt es eine entsprechende Async-Methode in derselben Klasse, wobei dieselbe Implementierung jedoch asynchrone Funktionen aktiviert. Wenn beispielsweise eine -Methode vorhanden ist, CreateOrUpdateTest
ist als Teil von LoadTestAdministrationClient
immer eine weitere Funktion CreateOrUpdateTestAsync
in derselben Clientklasse vorhanden.
Auslastungstestverwaltungsclient
Der LoadTestAdministrationClient
Client wird zum Verwalten und Konfigurieren der Auslastungstests, App-Komponenten und Metriken verwendet.
Test
Ein Test gibt das Testskript und die Konfigurationseinstellungen zum Ausführen eines Auslastungstests an. Sie können in einer Azure Load Testing-Ressource einen oder mehrere Tests erstellen.
App-Komponente
Wenn Sie einen Auslastungstest für eine in Azure gehostete Anwendung ausführen, können Sie Ressourcenmetriken für die verschiedenen Azure-Anwendungskomponenten (serverseitige Metriken) überwachen. Sie können während des Auslastungstests und nach seinem Abschluss die Ressourcenmetriken auf dem Azure Load Testing-Dashboard überwachen und analysieren.
Metriken
Während eines Auslastungstests sammelt Azure Load Testing Metriken zur Testausführung. Es gibt zwei Typen von Metriken:
Clientseitige Metriken enthalten Details, die von der Test-Engine gemeldet werden. Zu diesen Metriken gehören die Anzahl der virtuellen Benutzer*innen, die Antwortzeit auf Anforderungen, die Anzahl fehlerhafter Anforderungen oder die Anzahl der Anforderungen pro Sekunde.
Serverseitige Metriken sind für in Azure gehostete Anwendungen verfügbar und enthalten Informationen zu Ihren Azure-Anwendungskomponenten. Metriken können für die Anzahl der Datenbanklesevorgänge, den Typ der HTTP-Antworten oder den Verbrauch von Containerressourcen sein.
Testausführungsclient
Der LoadTestRunClient
Client wird verwendet, um Testläufe zu starten und zu beenden, die einem Auslastungstest entsprechen. Ein Testlauf stellt eine Ausführung eines Auslastungstests dar. Er erfasst die Protokolle, die der Ausführung des Apache JMeter-Skripts zugeordnet sind, die YAML-Konfiguration des Auslastungstests, die Liste der zu überwachenden App-Komponenten und die Ergebnisse des Tests.
Data-Plane-Endpunkt
Die Datenebene von Azure Load Testing-Ressourcen kann mit dem folgenden URL-Format adressiert werden:
00000000-0000-0000-0000-000000000000.aaa.cnt-prod.loadtesting.azure.com
Die erste GUID 00000000-0000-0000-0000-000000000000
ist der eindeutige Bezeichner, der für den Zugriff auf die Azure Load Testing-Ressource verwendet wird. Es folgt aaa
die Azure-Region der Ressource.
Der Datenebenenendpunkt wird von STEUERUNGSEBENE-APIs abgerufen.
Beispiel:1234abcd-12ab-12ab-12ab-123456abcdef.eus.cnt-prod.loadtesting.azure.com
Im obigen eus
Beispiel stellt die Azure-Region East US
dar.
Beispiele
Mithilfe von Beispielen können Sie sich mit verschiedenen APIs vertraut machen.
Problembehandlung
Mehr dazu gibt es in Kürze...
Threadsicherheit
Wir garantieren, dass alle Client-instance Methoden threadsicher und unabhängig voneinander sind (Richtlinie). Dadurch wird sichergestellt, dass die Empfehlung, Clientinstanzen wiederzuverwenden, immer sicher ist, auch threadsübergreifend.
Nächste Schritte
Erste Schritte mit den Beispielen
Mitwirken
Dies ist eine Vorlage, aber Ihr SDK-Readme sollte Details zum Mitwirken von Code zum Repository/Paket enthalten.
Zusätzliche Konzepte
Clientoptionen | Zugreifen auf die Antwort | Vorgänge | mit langer AusführungsdauerBehandeln von Fehlern | Diagnose | Spott | Clientlebensdauer
Azure SDK for .NET