(0) exportieren Drucken
Alle erweitern

Übersicht über Visual Studio-Auslastungstests in Windows Azure

Die Hauptkomponenten des Auslastungstests werden im Folgenden beschrieben. Eine allgemeine Erläuterung der Anwendungsarchitektur finden Sie unter Load Testing with Agents running on Windows Azure – part 1. Eine Übersicht über Auslastungstests in Visual Studio finden Sie unter Grundlagen von Auslastungstests.

noteHinweis
In diesem Dokument geht es hauptsächlich um eine "reine" Lösung. Mit Ausnahme einer Kopie von Visual Studio werden die Komponenten des Auslastungstests als Windows Azure-Workerrollen ausgeführt. Es gibt eine Alternative zu diesem "hauptsächlich reinen" Szenario: Wenn Sie Komponenten in einer gemischten Umgebung ausführen oder hosten. Sie möchten den Testcontroller zum Beispiel vor Ort mit Agents ausführen, die auf einer Workerrolle laufen. Oder Sie möchten Windows Azure SQL-Datenbank verwenden, um die Auslastungstestdaten zu speichern. Das heißt, Sie können die Komponenten des Auslastungstests über Windows Azure-Rollen und SQL-Datenbank sowie lokal verteilen. Weitere Dokumentationen zum Auswählen und Einrichten dieser alternativen Setups finden Sie im folgenden Thema: Ausführen von Auslastungstests in gemischten Umgebungen.

Vorteile

Bevor wir die Übersicht fortsetzen, sind hier einige Vorteile der Verwendung von Visual Studio-Auslastungstests in Windows Azure aufgeführt.

Eingangskosten
Nach der anfänglichen Investition verringern sich die Kosten für Auslastungstests erheblich. Es fallen zunächst die Kosten für Visual Studio Ultimate und für die Lizenz zur Verwendung der Auslastungstestfunktion an. Anschließend erstellen Sie die Umgebung für die Auslastungstests – ein Visual Studio-Projekt. Sie müssen über ein Windows Azure-Abonnement sowie über ausreichende, bei Bedarf abrufbare Kapazitäten zum Bereitstellen und Ausführen von Web- und Workerrollen verfügen. Diese Kosten können gegen die Kosten für Hardware und die gesamten Nebenkosten abgewogen werden. (Zu diesen Kosten zählen Software, Strom, ein Rechenzentrum und Personal zur Unterhaltung des Systems.)

Wartungskosten
Mithilfe der im folgenden genannten Verfahren können Sie eine einfach zu wartende Umgebung für Auslastungstests erstellen. Nach der erstmaligen Erstellung ist zum Aktualisieren des Projekts in der nächsten Zukunft nur noch ein minimaler Aufwand erforderlich.

Elastizität
Der Auslastungstest kann auf einfache Weise angepasst werden, um verschiedenen Szenarien und Bedingungen gerecht zu werden. Sie können zum Beispiel den von Azure gehosteten Server mit einer größeren Anzahl von Workerrollen konfigurieren. Jede Rolle wird zu einem Test-Agent, der zur Vergrößerung der Last verwendet werden kann.

Wiederholbarkeit
Nach der anfänglichen Investition können Sie den Auslastungstest für verschiedene Testsubjekte mit minimalen Zeit- und Kostenaufwand anpassen. Konfigurieren Sie das Testprojekt einfach neu, und stellen Sie es auf Windows Azure erneut bereit. Führen Sie den Test so lange durch, wie Sie ihn benötigen, und machen Sie die Bereitstellung dann rückgängig. Wiederholen Sie den Vorgang nach Bedarf.

Wirklichkeitstreue
Da Sie die Dienste in einem großen Rechenzentrum hosten, erhöht sich die Parallelität des Systems erheblich (weiter unten erfahren Sie mehr über Parallelität). Das Hosten der fertigen Anwendung in Windows Azure bildet die fertige Bereitstellung wirklichkeitsgetreu ab.

Parallelität

Parallelität wird als eine Eigenschaft des Systems definiert, bei der mehrere Aufgaben gleichzeitig ausgeführt werden und möglicherweise interagieren. Ein Faktor, der die Parallelität einschränkt, ist die Anzahl der verfügbaren IP-Adressen. Je mehr IP-Adressen das System nutzt, desto höher ist die gleichzeitige Verarbeitung. In der Regel hängt die Anzahl der verfügbaren Adressen von der Größe des IP-Anbieters ab. Wenn die Vereinbarung zum Servicelevel (SLA) sehr umfangreich ist, steht in der Regel auch eine große Anzahl von IP-Adressen zur Verfügung. Solche Vereinbarungen sind jedoch nicht sehr häufig. Wenn Sie jedoch Windows Azure als Plattform verwenden, haben Sie den Vorteil, ein Microsoft-Rechenzentrum und seine Ressourcen verwenden zu können. Dies schließt eine große Gruppe von IP-Adressen ein. Gehosteten Diensten in Windows Azure werden virtuelle IP-Adressen zugewiesen. Im Rahmen dieser Erläuterung verwendet das nach außen gewandte (Internet-) Lastenausgleichsmodul (nicht die gehosteten Dienste) die IP-Adressen. Die Verfügbarkeit einer großen Anzahl ist ein Vorteil des Microsoft-Rechenzentrums. Beachten Sie jedoch auch, dass nicht alle Systeme dieses Maß an Parallelität erfordern. Dies ist nur dann ein Vorteil, wenn ein System mit hoher Parallelität getestet wird.

Diese höhere Kapazität in Bezug auf die Parallelität ist ein weiterer großer Vorteil beim Ausführen von Auslastungstests in Windows Azure. Dieses Maß an Parallelität lässt sich außerdem außerhalb eines großen Rechenzentrums nur äußerst schwierig reproduzieren.

Übersicht

Die folgende Grafik veranschaulicht die Komponenten eines Auslastungstests. Visual Studio Ultimate wird zum Konfigurieren des Auslastungstests sowie zum Starten und Steuern verwendet. Visual Studio stellt die Testergebnisse darüber hinaus grafisch dar. Der Auslastungstest umfasst den Testcontroller, die Test-Agents und das getestete System. Der Testcontroller und die Agents werden in einem Windows Azure-Rechenzentrum als Workerrollen ausgeführt. Außer dem getesteten System müssen alle Auslastungstestkomponenten zur gleichen Windows Azure Connect-Gruppe gehören. Hierdurch wird eine ungehinderte Kommunikation der Bestandteile untereinander und mit der Visual Studio-Instanz ermöglicht. Um Indikatorensätze zu erstellen, die Leistungsindikatoren der Computer nachverfolgen, die das getestete System hosten, fügen Sie diese Computer zur Windows Azure Connect-Gruppe hinzu.

Grundlegende Konfiguration für einen Auslastungstest

Der Auslastungstest verwendet einige wichtige Technologien. Die Funktionen dieser Technologien beim Auslastungstest werden weiter unten in diesem Dokument beschrieben. Eine vollständige Liste der erforderlichen Downloads finden Sie unter Voraussetzungen und Setup für Windows Azure-Auslastungstests

Azure-Verwaltungsportal

Im Verwaltungsportal werden die primären Strukturen des Auslastungstests erstellt und verwaltet. Es werden dabei insbesondere die folgenden Funktionen von Azure verwendet:

Von Azure gehostete Dienste
Erstellen Sie einen gehosteten Dienst, um die Auslastungstestanwendung auszuführen. Die Anwendung besteht aus zwei Workerrollen. Die erste Rolle hostet eine einzelne Instanz des Testcontrollers. Der Controller ermöglicht die Remoteausführung des Auslastungstests. Die zweite Rolle hostet einen einzelnen Agent. Sie können die Instanzfunktion von Azure verwenden, um so viele Instanzen der Agentrolle zu erstellen, wie Sie benötigen. Weitere Informationen finden Sie unter Skalieren von Anwendungen durch Erhöhen oder Verringern der Anzahl der Rolleninstanzen

Speicherkonto
Sie benötigen ein Windows Azure-Speicherkonto zum Speichern des komprimierten Codes, der auf den Workerrollen ausgeführt wird. Die Speicher-BLOBs enthalten drei ZIP-Dateien. Eine Datei enthält die Setupsoftware für SQL Express. Die zweite enthält den Controllercode. Die dritte enthält den Agent-Code. Weitere Informationen zum Erstellen eines Speicherkontos finden Sie unter Erstellen eines Speicherkontos für ein Windows Azure-Abonnement

Connect-Gruppe
Um die Kommunikation zwischen dem Controller und den Agents zu ermöglichen, erstellen Sie eine Connect-Gruppe. Die Connect-Funktion fungiert als ein virtuelles privates Netzwerk, das dem Controller ermöglicht, die Agent-Aktivität durchzuführen. Es ermöglicht den Agents außerdem, die Testergebnisse an den Controller zurückzugeben. Mit der Connect-Gruppe können Sie den Controller auch über eine lokale Version von Visual Studio ausführen. Weitere Informationen finden Sie unter Übersicht über Windows Azure Connect.

Laden Sie zusätzlich zwei X.509-Zertifikate in das Azure-Portal hoch. Die Zertifikate sind erforderlich, um die Datenströme zwischen dem lokalen Computer und dem Azure-Portal zu authentifizieren und zu verschlüsseln. Das erste Zertifikat ermöglicht das Veröffentlichen einer Anwendung aus Visual Studio direkt in Azure. Dieses Zertifikat wird im Azure-Sprachgebrauch als Verwaltungszertifikat bezeichnet. Das zweite Zertifikat wird verwendet, um eine Remotedesktopverbindung zwischen einem lokalen Computer und einer Azure-Workerrolle zu aktivieren. Dieses Zertifikat wird im Azure-Sprachgebrauch als Dienstzertifikat bezeichnet.

Visual Studio Ultimate

Visual Studio ist die Entwicklungsumgebung und die einzige Version, die Auslastungstestfunktionen bereitstellt. Einen Vergleich der Versionen von Visual Studio finden Sie unter Visual Studio 2010 Übersicht. Mit Visual Studio Ultimate können Sie Testskripts erstellen, um Auslastungstests für Ihre Anwendung durchzuführen.

Mit Visual Studio kann der Controller auch remote verwaltet werden. In einem anderen Szenario als einem Azure-Szenario würde der Remotecontroller auf einem zweiten Computer ausgeführt werden. Im Azure-Szenario wird der Controller in einer Workerrolle in der Cloud ausgeführt.

SQL Server 2012 Express Edition

Zum Sammeln und Speichern der Daten des Agents ist eine Datenbank erforderlich. Mit SQL Server 2012 Express steht eine kostenlose Edition zur Verfügung, die standardmäßig vom Auslastungstestprogramm verwendet wird. Es ist dann nur erforderlich, dass das Datenbankmodul ebenfalls auf der Workerrolle bereitgestellt wird, auf der die Controllersoftware ausgeführt wird. Das Setup wird mit dem Code in der RoleEntryPoint.OnStart-Methode durchgeführt.

Die SQL-Datendateien können sich nicht auf der virtuellen Festplatte der Workerrolle befinden, da die Daten verloren gehen, wenn die Rolle wiederverwendet wird. Es wird empfohlen, ein freigegebenes Laufwerk einzubinden, auf das alle Rollen schreiben. Ausführliche Informationen finden Sie unter Using SMB to Share a Windows Azure Drive among multiple Roles.

Alternativ können Sie auch SQL-Datenbank verwenden. Laden Sie die Datei "loadtest2010.dacpac" herunter, um SQL-Datenbank mit der Datenbank bereitzustellen. Weitere Informationen finden Sie unter Ausführen von Auslastungstests in gemischten Umgebungen.

Zusammenstellen der benötigten Bestandteile

Laden Sie zu Anfang die Software herunter, die für die Bereitstellung des Azure-Portals und zum Konfigurieren der Anwendung erforderlich ist. Ausführliche Informationen zu den Downloads finden Sie in diesem Thema: Voraussetzungen und Setup für Windows Azure-Auslastungstests.

Bereitstellen von Windows Azure und Konfigurieren der Anwendung

Nachdem Sie die gesamte zusätzliche Software heruntergeladen haben, können Sie das Windows Azure-Portal bereitstellen und die Anwendung wie weiter unten erläutert konfigurieren. Ausführliche Informationen zum Ausführen der einzelnen Schritte finden Sie unter Bereitstellen von Windows Azure für einen Auslastungstest.

  1. Stellen Sie dem Windows Azure-Portal einen neuen gehosteten Dienst, ein Speicherkonto und ein virtuelles Connect-Netzwerk bereit.

  2. Nachdem Sie das Speicherkonto und die Konten für die gehosteten Dienste erstellt haben, konfigurieren Sie die Anwendung mit den Werten aus dem Windows Azure-Portal.

  3. Erstellen Sie drei ZIP-Dateien mit Software, die automatisch auf den Workerrollen installiert wird.

    Für die Anwendung muss sowohl die Controller- als auch die Agent-Software auf Workerrollen ausgeführt werden. Die Software zum Erstellen des Controllers und Agents wurde bereits vorab erstellt und kann von Ihnen heruntergeladen werden. Gehen Sie wie folgt vor, um die Software auf den Workerrollen bereitzustellen: Erstellen Sie zuerst zwei ZIP-Dateien, die den Testcontroller und Agent-Software enthalten. Zum Erstellen der ZIP-Dateien können Sie ein beliebiges Tool verwenden (im Internet finden Sie kostenlose Tools). Nachdem Sie die ZIP-Dateien erstellt haben, laden Sie die Dateien in das Windows Azure-Speicherkonto hoch. Beim Ausführen der Anwendung werden die ZIP-Dateien aus dem Speicher abgerufen, entpackt und auf die Workerrollen geladen.

    Sie müssen eine dritte ZIP-Datei erstellen: eine mit dem Setuppaket für SQL Server 2008 SQL Express. Wie die Controller- und Agent-Pakete wird auch das SQL Server-Setup automatisch ausgeführt und stellt auf der Workerrolle eine Instanz von SQL Express bereit.

  4. Laden Sie die ZIP-Dateien in das Azure-Speicherkonto hoch. Verwenden Sie hierzu den Storage Service-Client, den Sie kostenlos herunterladen können.

  5. Erstellen Sie eine Windows Azure Connect-Gruppe im Windows Azure-Portal.

  6. Installieren Sie einen Connect-Endpunkt auf dem Computer, der für die Verbindung mit der Controllerrolle verwendet wird.

  7. Konfigurieren Sie die Anwendung mit dem Connect-Aktivierungstoken. Das Token ermöglicht den Workerrollen, der Connect-Gruppe beizutreten.

Veröffentlichen der Anwendung

Nachdem Sie sowohl das Portal als auch die Anwendung ordnungsgemäß bereitgestellt und konfiguriert haben, können Sie die Anwendung in Windows Azure veröffentlichen. Ausführliche Informationen zu den Schritten finden Sie unter Veröffentlichen des Auslastungstests auf Windows Azure.

  1. Rufen Sie die Windows Azure-Abonnement-ID ab. Die ID wird verwendet, damit Visual Studio die Anwendung in Ihr Konto hochladen kann.

  2. Erstellen und Sie ein Verwaltungszertifikat und laden Sie es hoch. Gehen Sie dabei wie folgt vor:

    1. Erstellen Sie im Dialogfeld Windows Azure veröffentlichen ein neues Verwaltungszertifikat. Das Zertifikat ermöglicht Windows Azure die Autorisierung beim Hochladen der Anwendung.

    2. Fügen Sie die Abonnement-ID in das Dialogfeld ein. Über die ID kann Visual Studio Ihr Konto identifizieren.

  3. Exportieren Sie das Verwaltungszertifikat. Um das Zertifikat hochzuladen, exportieren Sie es aus dem lokalen Zertifikatcache des Computers.

  4. Laden Sie das Verwaltungszertifikat hoch. Laden Sie das Zertifikat mithilfe des Verwaltungsportals hoch.

  5. Veröffentlichen Sie die Anwendung.

Verwenden von Remotedesktop

Nachdem Sie die Anwendung veröffentlicht haben, stellen Sie mithilfe von Remotedesktop eine Verbindung damit her. Visual Studio stellt die Tools und Features für diese Funktionalität bereit. Die Schritte zum Aktivieren einer Remotedesktopverbindung finden Sie unter Veröffentlichen des Auslastungstests auf Windows Azure.

Nächste Schritte

Laden Sie zunächst die Tools und Komponenten der Projektmappe herunter: Voraussetzungen und Setup für Windows Azure-Auslastungstests


Builddatum:

2013-07-25

Community-Beiträge

Anzeigen:
© 2014 Microsoft