Schnellstart: Erstellen und Ausführen eines Auslastungstests mit Azure Load Testing Preview

Diese Schnellstartanleitung beschreibt, wie man eine Azure Load Testing Preview Ressource mit Hilfe des Azure Portals erstellt. Mit dieser Ressource erstellen Sie einen Auslastungstest mit einem Apache JMeter-Skript und führen den Test für eine externe Website aus.

Nachdem Sie diese Schnellstartanleitung abgeschlossen haben, verfügen Sie über einen Ressourcen- und Auslastungstest, den Sie für andere Tutorials verwenden können.

Erfahren Sie mehr über die wichtigsten Konzepte bei Azure Load Testing.

Wichtig

Azure Load Testing befindet sich derzeit in der VORSCHAUPHASE. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Voraussetzungen

Erstellen der Azure Load Testing-Ressource

Zunächst erstellen Sie die Ressource der obersten Ebene für Azure Load Testing. Es bietet einen zentralen Ort zum Anzeigen und Verwalten von Testplänen, Testergebnissen und zugehörigen Artefakten.

Wenn Sie bereits über eine Auslastungstestressource verfügen, überspringen Sie diesen Abschnitt, und fahren Sie mit Erstellen eines Auslastungstests fort.

So erstellen Sie eine Auslastungstestressource:

  1. Melden Sie sich mit den Anmeldeinformationen für Ihr Azure-Abonnement beim Azure-Portal an.

  2. Wählen Sie im Portal links oben die Menüschaltfläche und dann + Ressource erstellen aus.

    Screenshot that shows the button for creating a resource.

  3. Verwenden Sie die Suchleiste, um nach Azure Load Testing zu suchen.

  4. Wählen Sie Azure Load Testing aus.

  5. Wählen Sie im Bereich Azure Load Testing die Option Erstellen aus.

    Screenshot that shows the Azure Load Testing pane.

  6. Geben Sie die folgenden Informationen an, um Ihre neue Azure Load Testing-Ressource zu konfigurieren:

    Feld BESCHREIBUNG
    Abonnement Wählen Sie das Azure-Abonnement aus, das Sie für diese Azure Load Testing-Ressource verwenden möchten.
    Ressourcengruppe Wählen Sie eine vorhandene Ressourcengruppe aus. Klicken Sie auf Neu erstellen, und geben Sie einen eindeutigen Namen für die neue Ressourcengruppe ein.
    Name Geben Sie einen eindeutigen Namen ein, um Ihre Azure Load Testing-Ressource zu identifizieren.
    Der Name darf keine Sonderzeichen wie \/""[]:|<>+=;,?*@& oder Leerzeichen enthalten. Der Name darf nicht mit einem Unterstrich (_) beginnen und nicht mit einem Punkt (.) oder Bindestrich (-) enden Die Länge muss 1 bis 64 Zeichen betragen.
    Location Wählen Sie einen geografischen Standort zum Hosten Ihrer Azure Load Testing-Ressource aus.
    Dieser Standort bestimmt auch, wo die Test-Engines gehostet werden und woher die JMeter-Clientanforderungen stammen.

    Hinweis

    Optional können Sie weitere Details auf der Registerkarte Tags konfigurieren. Tags sind Namens-Wert-Paare, mit denen Sie Ressourcen kategorisieren und eine konsolidierte Abrechnung anzeigen können, indem Sie dasselbe Tag auf mehrere Ressourcen und Ressourcengruppen anwenden.

  7. Nachdem die Konfiguration des Arbeitsbereichs abgeschlossen wurde, wählen Sie Überprüfen und Erstellen aus.

  8. Überprüfen Sie alle Konfigurationseinstellungen, und wählen Sie Erstellen aus, um die Bereitstellung der Azure Load Testing-Ressource zu starten.

    Nachdem der Vorgang abgeschlossen wurde, wird eine Erfolgsmeldung zur Bereitstellung angezeigt.

  9. Um die neue Ressource anzuzeigen, wählen Sie Zu Ressource wechseln aus.

    Screenshot that shows the deployment completion screen.

  10. Verwalten Sie optional den Zugriff auf Ihre Azure Load Testing-Ressource.

    Azure Load Testing verwendet die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC), um die Berechtigungen für Ihre Ressource zu verwalten. Wenn diese Meldung angezeigt wird, verfügt Ihr Konto nicht über die erforderlichen Berechtigungen zum Verwalten von Tests.

    Screenshot that shows an error message in the Azure portal that you're not authorized to use the Azure Load Testing resource.

Erstellen eines Apache JMeter-Skripts

In diesem Abschnitt erstellen Sie ein Apache JMeter-Beispielskript, das Sie im nächsten Abschnitt verwenden, um einen Webendpunkt zu laden. Wenn Sie bereits über ein Skript verfügen, können Sie zum Erstellen eines Auslastungstests springen.

  1. Erstellen Sie eine SampleTest.jmx-Datei auf Ihrem lokalen Computer:

    touch SampleTest.jmx
    
  2. Öffnen Sie SampleTest.jmx in einem Text-Editor, und fügen Sie den folgenden Codeausschnitt in die Datei ein:

    <?xml version="1.0" encoding="UTF-8"?>
    <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.1">
      <hashTree>
        <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Azure Load Testing Quickstart" enabled="true">
          <stringProp name="TestPlan.comments"></stringProp>
          <boolProp name="TestPlan.functional_mode">false</boolProp>
          <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
          <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
          <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
            <collectionProp name="Arguments.arguments"/>
          </elementProp>
          <stringProp name="TestPlan.user_define_classpath"></stringProp>
        </TestPlan>
        <hashTree>
          <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
            <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
            <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
              <boolProp name="LoopController.continue_forever">false</boolProp>
              <intProp name="LoopController.loops">-1</intProp>
            </elementProp>
            <stringProp name="ThreadGroup.num_threads">5</stringProp>
            <stringProp name="ThreadGroup.ramp_time">10</stringProp>
            <boolProp name="ThreadGroup.scheduler">true</boolProp>
            <stringProp name="ThreadGroup.duration">120</stringProp>
            <stringProp name="ThreadGroup.delay">5</stringProp>
            <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
          </ThreadGroup>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Homepage" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">your-endpoint-url</stringProp>
              <stringProp name="HTTPSampler.port"></stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path"></stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
          </hashTree>
        </hashTree>
      </hashTree>
    </jmeterTestPlan>
    

    Dieses Apache JMeter-Beispielskript simuliert einen Auslastungstest von fünf virtuellen Benutzern, die gleichzeitig auf einen Webendpunkt zugreifen. Dies dauert weniger als zwei Minuten.

  3. Ersetzen Sie den Platzhaltertext your-endpoint-urldurch Ihre eigenen Werte.

    Wichtig

    Schließen Sie nicht https oder http in den Endpunkt-URL ein.

  4. Speichern und schließen Sie die Datei.

Erstellen eines Auslastungstests

Mit Azure Load Testing können Sie ein Apache JMeter-Skript verwenden, um einen Auslastungstest zu erstellen. Dieses Skript definiert den Anwendungstestplan. Sie enthält Informationen über den Webendpunkt, die Anzahl virtueller Benutzer und andere Testkonfigurationseinstellungen.

So erstellen Sie einen Auslastungstest mithilfe eines vorhandenen Apache JMeter-Skripts:

  1. Wechseln Sie zu Ihrer Azure Load Testing-Ressource, wählen Sie im linken Bereich Tests und dann + Neuen Test Erstellen aus.

    Screenshot that shows the Azure Load Testing page and the button for creating a new test.

  2. Geben Sie auf der Registerkarte Grundeinstellungen die Informationen Testname und Testbeschreibung ein. Optional können Sie das Kontrollkästchen Test nach Erstellung ausführen aktivieren.

    Screenshot that shows the Basics tab for creating a test.

  3. Wählen Sie auf der Registerkarte Testplan Ihr Apache JMeter-Skript aus, und wählen Sie dann Hochladen, um die Datei auf Azure hochzuladen.

    Screenshot that shows the Test plan tab.

    Hinweis

    Sie können zusätzliche Apache JMeter-Konfigurationsdateien oder andere Dateien auswählen und hochladen, auf die in der JMX-Datei verwiesen wird. Wenn Ihr Testskript beispielsweise CSV-Datensätze verwendet, können Sie die entsprechenden CSV-Dateien hochladen.

  4. (Optional) Konfigurieren Sie auf der Registerkarte Parameter die Eingabeparameter für Ihr Apache JMeter-Skript.

  5. Für diese Schnellstartanleitung können Sie die Standardwerte übernehmen:

    Feld Standardwert BESCHREIBUNG
    Anzahl der Engine-Instanzen 1 Die Anzahl paralleler Test-Engines, die das Apache JMeter-Skript ausführen.

    Screenshot that shows the Load tab for creating a test.

  6. (Optional) Konfigurieren Sie auf der Registerkarte Testkriterien Kriterien, um zu bestimmen, wann der Auslastungstest fehlschlagen soll.

  7. (Optional) Auf der Registerkarte Überwachung können Sie die Azure-Anwendungskomponenten angeben, für die serverseitige Metriken erfasst werden. In dieser Schnellstartanleitung testen Sie keine in Azure gehostete Anwendung.

  8. Klicken Sie auf Überprüfen + erstellen. Überprüfen Sie alle Einstellungen, und wählen Sie dann Erstellen aus, um den Auslastungstest zu erstellen.

    Screenshot that shows the tab for reviewing and creating a test.

Hinweis

Sie können die Testkonfiguration jederzeit aktualisieren, z. B. um eine andere JMX-Datei hochzuladen. Wählen Sie Ihren Test in der Liste der Tests und wählen Sie dann Bearbeiten.

Auslastungstest ausführen

In diesem Abschnitt führen Sie den soeben erstellten Auslastungstest aus. Wenn Sie beim Erstellen des Tests das Kontrollkästchen Test nach Erstellung ausführen aktiviert haben, können Sie zu Anzeigen der Auslastungstestergebnisse springen.

  1. Wechseln Sie zu Ihrer Azure Load Testing-Ressource, wählen Sie im linken Bereich Tests und dann den erstellten Test aus.

    Screenshot that shows the list of load tests.

  2. Wählen Sie auf der Seite mit den Testdetails Ausführen oder Test Ausführen aus.

    Screenshot that shows the button for running a load test.

  3. Auf der Bestätigungsseite Ausführen können Sie optional die Testdetails ändern. Wählen Sie dann Ausführen aus, um den Auslastungstest zu starten.

    Screenshot that shows the run confirmation page.

    Tipp

    Sie können einen Auslastungstest jederzeit über das Azure-Portal beenden.

Anzeigen der Testergebnisse

Während der Auslastungstest ausgeführt wird, erfasst Azure Load Testing sowohl clientseitige als auch serverseitige Metriken. In diesem Abschnitt verwenden Sie das Dashboard, um die clientseitigen Metriken zu überwachen.

  1. Wechseln Sie zur Seite, auf der Testdetails angezeigt werden. Wählen Sie den letzten Testlauf aus.

    Screenshot that shows the list of test runs.

    Sie können die clientseitigen Streamingmetriken anzeigen, während der Test ausgeführt wird. Standardmäßig werden die Daten alle fünf Sekunden aktualisiert.

    Screenshot that shows results of the load test.

  2. Ändern Sie optional die Anzeigefilter, um einen bestimmten Zeitbereich, ein bestimmtes Ergebniszentil oder einen bestimmten Fehlertyp anzuzeigen.

    Screenshot that shows the filter criteria for the results of a load test.

Bereinigen von Ressourcen

Wichtig

Sie können die Azure Load Testing-Ressource, die Sie für andere Tutorials und Anleitungen zu Azure Load Testing erstellt haben, wiederverwenden.

Wenn Sie die erstellten Ressourcen nicht mehr benötigen, löschen Sie sie, damit Ihnen keine weiteren Kosten entstehen. Wenn Sie die Beispielanwendung in einer anderen Ressourcengruppe bereitgestellt haben, müssen die folgenden Schritte ggf. wiederholt werden.

So löschen Sie Ressourcen über das Azure-Portal:

  1. Wählen Sie im Portal links oben die Menüschaltfläche und dann Ressourcengruppen aus.

  2. Wählen Sie in der Liste die Ressourcengruppe aus, die Sie erstellt haben.

  3. Wählen Sie die Option Ressourcengruppe löschen. Screenshot of the selections to delete a resource group in the Azure portal.

  4. Geben Sie den Ressourcengruppennamen ein. Wählen Sie anschließend die Option Löschen.

Um Ressourcen mithilfe des Azure CLI löschen, geben Sie den folgenden Befehl ein:

az group delete --name <yourresourcegroup>

Denken Sie daran, dass beim Löschen der Ressourcengruppe alle darin enthaltenen Ressourcen gelöscht werden.

Nächste Schritte

Sie verfügen jetzt über eine Azure Load Testing-Ressource, die Sie zum Auslastungstest einer externen Website verwendet haben.

Sie können diese Ressource wiederverwenden, um zu erfahren, wie Leistungsengpässe in einer in Azure gehosteten Anwendung mithilfe serverseitiger Metriken identifiziert werden.