MSDN Library

Leistungsindikatoren in Auslastungstests auf Windows Azure

Bei der Ausführung von Auslastungstests können Sie in Visual Studio Daten von Leistungsindikatoren (normalerweise mithilfe von Perfmon.exe angezeigt) erfassen. Leistungsindikatoren sind für jeden Computer (Workerrolle oder Webrolle), auf dem ein getestetes System gehostet wird, spezifisch. Mit Perfmon können Sie Prozesse angeben, die überwacht werden sollen, einschließlich Anwendungsprozesse. In diesem Thema werden Sie durch die Schritte des Aufzeichnens dieser Indikatoren beim Ausführen eines Visual Studio-Auslastungstests auf Windows Azure geführt.

noteHinweis
Beim Protokollieren von Leistungsindikatoren, wie in diesem Artikel dargestellt, reduzieren die Netzwerkgrenzen den Durchsatz von Nachrichten, der empfangen werden kann. In einem lokalen Szenario ist die Protokollierung vieler Indikatoren bei einer Häufigkeit von einem Indikator pro Sekunde möglich. In dem hier beschriebenen Szenario wird die entsprechende Leistung durch Netzwerklatenzzeiten verhindert. In der Praxis müssen Sie deshalb die Anzahl von erfassten Indikatoren reduzieren. Legen Sie außerdem die Häufigkeit der Auflistung auf 5 Sekunden oder höher fest. Weitere Informationen zum Erstellen von Indikatorensätzen finden Sie unte Erstellen von Leistungsindikatorsätzen.

Dieses Thema ist eine Variation des grundlegenden Szenarios, das in Verwenden von Visual Studio-Auslastungstests in Windows Azure-Rollen beschrieben wird. In dieser Reihe von Artikeln wird beschrieben, wie Visual Studio-Auslastungstests unter Windows Azure ausgeführt werden. In diesem grundlegenden Szenario generiert ein Auslastungstestprojekt Datenverkehr für eine Windows Azure-Anwendung, und alle Rollen befinden sich in der gleichen Windows Azure Connect-Gruppe. In diesem Thema befinden sich die getesteten Workerrollen und das System in der gleichen Connect-Gruppe, werden jedoch in unterschiedlichen gehosteten Diensten ausgeführt.

Autoren: Sidney Higa und Paolo Salvatori.

Danksagung: Jaime Alva Bravo.

Voraussetzungen

Folgendes ist erforderlich, um die Aufzeichnung auf Leistungsindikatoren zu aktivieren.

  1. Ausführbare Datei für Windows Azure Connect-Endpunktinstallation, Wacendpointpackage.exe.

    Siehe Installieren lokaler Endpunkte mit Windows Azure Connect. Laden Sie die ausführbare Datei zur späteren Verwendung herunter.

  2. Aktivierungs-Token für Windows Azure-Endpunkt.

    Befolgen Sie die Anweisungen in Installieren lokaler Endpunkte mit Windows Azure Connect, um das Token abzurufen. Speichern Sie das Token, um es später abzurufen.

Übersicht

Visual Studio-Auslastungstests bestehen aus zwei logischen Teilen:

  1. Auslastungstestkomponenten. Die Komponenten umfassen den Testcontroller und die Agents.

  2. Das getestete System. Die Anwendung, für die Auslastungstests durchgeführt werden.

Das getestete System und die Auslastungstestkomponenten können zusammen in einem gehosteten Windows Azure-System bereitgestellt werden. In diesem Szenario ist die Kommunikation zwischen den Teilen optimal, da die Agent-Knoten direkt mit den Rolleninstanzen, die die Anwendung ausführen, kommunizieren können. Die Teile können in separaten gehosteten Systemen mithilfe von Visual Studio-Tools bereitgestellt werden, Leistungsindikatoren können jedoch nicht erfasst werden. (Dies wird später erklärt).

In diesem Szenario, werden das getestete System und die Auslastungstestkomponenten in unterschiedlichen gehosteten Diensten ausgeführt, Leistungsindikatoren müssen jedoch erfasst werden. Es gibt zwei gehostete Dienste, einen für den Testcontroller und die Agent und einen zweiten für das getestete System. Es gibt jedoch immer noch eine einzelne Windows Azure Connect-Gruppe, die verwendet wird, um die Kommunikation zu ermöglichen.

Agent- und Systemtests unter verschiedenen Diensten

Die Standardmethode zum Erstellen einer Connect-Gruppe besteht darin, Visual Studio und das Kontrollkästchen Windows Azure Connect aktivieren zu verwenden. (Weitere Informationen finden Sie unter Verwenden von Windows Azure Connect zum Erstellen von virtuellen Netzwerken.) In diesem Szenario werden die Agents und das getestete System in unterschiedlichen Diensten ausgeführt. Daher können die Rollen nicht mithilfe der Standardmethode miteinander kommunizieren – das Kontrollkästchen kann nicht verwendet werden. Windows Azure Connect lässt absichtlich keine Kommunikation zwischen Rolleninstanzen zu, die in unterschiedlichen gehosteten Diensten ausgeführt werden. Die Problemumgehung besteht darin, den Connect-Endpunkt auf folgenden Komponenten zu installieren:

  1. Den Workerrollen, die die Agents hosten.

  2. Den Web- und/oder Workerrollen, die das getestete System hosten.

Da Sie das Kontrollkästchen nicht verwenden, muss der Endpunkt durch einen anderen Prozess automatisch installiert werden, wie hier beschrieben.

Automatisches Installieren des Connect-Endpunkts

Um die Kommunikation zwischen gehosteten Diensten zu ermöglichen, müssen Sie zuerst "Wacendpointpackage.exe" herunterladen. Speichern Sie die ausführbare Datei mit dem Visual Studio-Projekt, das die Workerrolle enthält, die den Agent hostet. Konfigurieren Sie dann die Workerrolle so, dass der Endpunkt automatisch installiert wird, wie dargestellt.

So installieren Sie einen Connect-Endpunkt automatisch

  1. Kopieren Sie Wacendpointpackage.exe, und fügen Sie die Datei in das Visual Studio-Projekt für die Workerrolle ein, die einen Agent hostet. Führen Sie die nächsten folgenden Schritte aus, um die Rolle so zu konfigurieren, dass der Endpunkt automatisch installiert wird.

    1. Führen Sie Visual Studio als Administrator aus, und öffnen Sie die Projektmappe, die das Auslastungstestprojekt enthält.

    2. Fügen Sie im Projektmappen-Explorer Wacendpointpackage.exe in das Visual Studio-Projekt ein, das die Workerrolle enthält, die den Agent hostet.

    3. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Wacendpointpackage.exe und anschließend auf Eigenschaften.

    4. Legen Sie im Eigenschaftenbereich Buildvorgang-Eigenschaft auf Kein fest.

    5. Stellen Sie im Eigenschaftenbereich sicher, dass die Eigenschaft In Ausgabeverzeichnis kopieren auf Immer kopieren festgelegt ist.

  2. Erstellen Sie eine Batchdatei, die die ausführbare Datei für die Installation ausführt.

    1. Erstellen Sie eine Datei mit dem Namen Startup.cmd.

    2. Kopieren Sie den folgenden Code, und fügen Sie ihn in die Datei ein. Ersetzen Sie <windows azure connect group activation token> durch das Aktivierungstoken für Ihre Connect-Gruppe.

      Wacendpointpackage.exe /i  /s /m de-de /token <windows azure connect group activation token>
      
  3. Kopieren Sie die Datei "Startup.cmd", und fügen Sie sie in das Visual Studio-Projekt für die Workerrolle ein, die den Agent hostet. Legen Sie die Eigenschaft Buildvorgang der Datei auf Kein fest. Legen Sie außerdem die Eigenschaft In Ausgabeverzeichnis kopieren der Datei auf Immer kopieren fest.

  4. Konfigurieren Sie die Worker- oder die Webrolle, um die Batchdatei auszuführen.

    1. Öffnen Sie das Azure Cloud-Projekt, das die Dienstdefinition und die Konfigurationsdateien enthält.

    2. Öffnen Sie die Datei ServiceDefinition.csdef.

    3. Fügen Sie unter dem <WebRole>-Element, das den Agent hostet, das <Runtime>-Element hinzu, und legen Sie den Ausführungskontext auf "erweitert" fest. Fügen Sie unter dem <Runtime>-Element das <Startup>-Element hinzu. Fügen Sie dann das <Task>-Element hinzu, um die Batchdatei im erweiterten Modus auszuführen. Der vollständige Code wird angezeigt:

      <Runtime executionContext="elevated"/>
      <Startup>
          <Task commandLine="setup\startup.cmd" executionContext="elevated" taskType="simple" />
      </Startup>    
      
      

Die beschriebene Technik wird häufig zum Installieren von Software auf Azure-Worker und -Webrollen verwendet. Weitere Informationen finden Sie unter Starten von Aufgaben vor dem Starten von Rolleninstanzen in Windows Azure.

Initialisierung

Bevor Sie zum nächsten Abschnitt übergehen, stellen Sie die virtuellen Computer auf Windows Azure bereit, und führen Sie sie aus. Die ausgeführten Instanzen sind erforderlich, um die Indikatorensätze zu erstellen und die Zuordnung von Indikatorensätzen zu ermöglichen. Weitere Informationen zum Bereitstellen und Ausführen der gehosteten Dienste auf Azure finden Sie unter Bereitstellen einer Anwendung in Windows Azure.

Erstellen von Leistungsindikatorsätzen

Um Leistungssätze zu erstellen, verwenden Sie die Visual Studio-Auslastungstesttools.

So erstellen Sie einen Leistungsindikatorsatz

  1. Öffnen Sie das Visual Studio-Projekt, das die Auslastungstestkomponenten enthält.

  2. Öffnen Sie das Testprojekt, und öffnen Sie die Auslastungstestdatei (* .loadtest).

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Indikatorensätze, und klicken Sie auf Benutzerdefinierten Indikatorsatz hinzufügen. Der Standardname ist Custom1. Benennen Sie den Indikatorensatzordner bei Bedarf um.

  4. Klicken Sie mit der rechten Maustaste auf den neuen benutzerdefinierten Indikatorordner, und klicken Sie auf Leistungsindikatoren hinzufügen.

  5. Wählen Sie im Dialogfeld Leistungsindikatoren auswählen aus der Dropdownliste Computer den Computer aus, der das getestete System enthält. Der Computer kann eine Rolleninstanz sein, die auf Windows Azure ausgeführt wird.

  6. Wählen Sie aus dem Kategorie-Dropdownliste Leistung den Leistungsindikator aus, der überwacht werden soll, und klicken Sie auf OK.

  7. Wiederholen Sie die vorherigen Schritte, um die erforderlichen Indikatoren hinzuzufügen.

Erstellen Sie nach dem Erstellen des Indikatorsatzes eine Zuordnung für jede Rolle, die ausgeführt wird.

So erstellen Sie eine Leistungsindikatorzuordnung

  1. Öffnen Sie in der Auslastungstestdatei (* .loadtest) den Ordner Testlaufeinstellungen.

  2. Suchen Sie unter dem Ordner Indikatorensatzzuordnungen die Namen der ausgeführten Azure-Instanzen. Die virtuellen Computer haben einen Namen, der in der Regel mit "RD" beginnt. Es gibt einen virtuellen Computer für jede Instanz der Agent-Workerrolle.

  3. Klicken Sie mit der rechten Maustaste auf den Computerknoten, und klicken Sie auf Indikatorensätze verwalten.

  4. Wählen Sie im Dialogfeld Indikatorensätze verwalten den benutzerdefinierten Indikatorsatz aus, um ihn hinzuzufügen.

Der benutzerdefinierte Indikatorensatz ist nun jeder Workerrolle zugeordnet, die einen Agent ausführt.

Aktivieren von Pass-Through-Sicherheit

Remotedesktop wird standardmäßig verwendet, um auf eine Rolleninstanz zuzugreifen. Sie können Rollen so konfigurieren, dass Remotedesktop mit den Visual Studio-Tools verwendet wird. Das Visual Studio-Tool erstellt ein Zertifikat mit einem Benutzernamen und einem Kennwort, das Sie angeben. Weitere Informationen finden Sie unter Verwenden von Remotedesktop mit Windows Azure-Rollen. Wenn Sie diese Methode verwenden, wird der Benutzername der Administratorgruppe automatisch in allen Rollen hinzugefügt, die so konfiguriert sind, dass Remotedesktop verwendet wird. Der gleiche Benutzer muss Teil der Administratorgruppe auf den Workerrollencomputern sein. Das bedeutet, dass zur Anmeldung bei den Agents und auf dem getesteten System der gleiche Benutzername und das gleiche Kennwort verwendet werden. Um dies zu erreichen, erstellen Sie einen lokalen Benutzer, und verwenden Sie diese Identität, um den gehosteten Auslastungstestdienst bereitzustellen. Um zu überprüfen, ob die Konfiguration korrekt ist, verwenden Sie Remotedesktop, um die Administratorengruppe auf einer ausgeführten Workerrolle zu untersuchen. Überprüfen Sie, ob der gleiche Benutzer Teil der Gruppe ist. Weitere Informationen zum Erstellen des lokalen Benutzers für den Auslastungstest finden Sie unter "Erstellen eines lokalen Benutzers, um einen Auslastungstestcontroller zu verwalten" im Thema Veröffentlichen des Auslastungstests auf Windows Azure.


Builddatum:

2013-07-25

Community-Beiträge

Anzeigen:
© 2016 Microsoft