Testen der Leistung eines ClouddienstsTesting the performance of a cloud service

ÜbersichtOverview

Sie können die Leistung eines Clouddiensts mit folgenden Methoden testen:You can test the performance of a cloud service in the following ways:

Auswählen einer LeistungstestmethodeChoosing a performance testing method

Verwenden Sie die Azure-Diagnose, um folgende Daten zu erfassen:Use Azure Diagnostics to collect:

  • Statistiken zu Webseiten oder -diensten, wie etwa Anforderungen und Verbindungen.Statistics on web pages or services, such as requests and connections.
  • Statistiken zu Rollen, z. B. wie oft eine Rolle neu gestartet wird.Statistics on roles, such as how often a role is restarted.
  • Allgemeine Informationen zur Speicherauslastung, z. B. die Zeit in Prozent, die der Garbage Collector benötigt, oder der Speicherplatz einer ausgeführten Rolle.Overall information about memory usage, such as the percentage of time that the garbage collector takes or the memory set of a running role.

Verwenden Sie den Visual Studio-Profiler für Folgendes:Use the Visual Studio profiler to:

  • Ermitteln, welche Funktionen die meiste Zeit in Anspruch nehmen.Determine which functions take the most time.
  • Messen, wie lange jeder Teil eines rechenintensiven Programms genau dauert.Measure how much time each part of a computationally intensive program takes.
  • Vergleichen der detaillierten Leistungsberichte für zwei Versionen eines Diensts.Compare detailed performance reports for two versions of a service.
  • Analysieren der Speicherbelegung, ausführlicher und genauer als auf der Ebene einzelner Speicherbelegungen.Analyze memory allocation in more detail than the level of individual memory allocations.
  • Analysieren von Parallelitätsproblemen in Multithreadcode.Analyze concurrency problems in multithreaded code.

Wenn Sie den Profiler verwenden, können Sie Daten erfassen, wenn ein Clouddienst lokal oder in Azure ausgeführt wird.When you use the profiler, you can collect data when a cloud service runs locally or in Azure.

Erfassen Sie Profilerstellungsdaten lokal zu folgenden Zwecken:Collect profiling data locally to:

  • Testen der Leistung eines Teils eines Clouddiensts, wie z. B. der Ausführung einer bestimmten Workerrolle, die keine realistische simulierte Last erfordert.Test the performance of a part of a cloud service, such as the execution of specific worker role, that doesn’t require a realistic simulated load.
  • Testen der Leistung eines Clouddiensts in Isolation unter kontrollierten Bedingungen.Test the performance of a cloud service in isolation, under controlled conditions.
  • Testen der Leistung eines Clouddiensts vor der Bereitstellung in Azure.Test the performance of a cloud service before you deploy it to Azure.
  • Privates Testen der Leistung eines Clouddiensts, ohne Beeinträchtigung der vorhandenen Bereitstellungen.Test the performance of a cloud service privately, without disturbing the existing deployments.
  • Testen der Leistung eines Clouddiensts, ohne dass Gebühren für die Ausführung in Azure anfallen.Test the performance of the service without incurring charges for running in Azure.

Erfassen Sie Profilerstellungsdaten in Azure zu folgenden Zwecken:Collect profiling data in Azure to:

  • Testen der Leistung eines Clouddiensts unter einer simulierten oder realen Last.Test the performance of a cloud service under a simulated or real load.
  • Verwenden der Instrumentationsmethode zur Erfassung von Profilerstellungsdaten, wie weiter unten in diesem Thema beschrieben.Use the instrumentation method of collecting profiling data, as this topic describes later.
  • Testen der Leistung des Diensts in der gleichen Umgebung, in der er auch in der Produktion ausgeführt wird.Test the performance of the service in the same environment as when the service runs in production.

Üblicherweise simulieren Sie eine Last, um Clouddienste unter Bedingungen mit normaler oder hoher Belastung zu testen.You typically simulate a load to test cloud services under normal or stress conditions.

Profilerstellung für einen Clouddienst in AzureProfiling a cloud service in Azure

Wenn Sie Ihren Clouddienst aus Visual Studio veröffentlichen, können Sie ein Profil für den Dienst erstellen und die Einstellungen für die Profilerstellung angeben, die Ihnen die gewünschten Informationen liefern.When you publish your cloud service from Visual Studio, you can profile the service and specify the profiling settings that give you the information that you want. Eine Profilerstellungssitzung wird für jede Instanz einer Rolle gestartet.A profiling session is started for each instance of a role. Weitere Informationen zum Veröffentlichen Ihres Diensts aus Visual Studio finden Sie unter Veröffentlichen in einen Azure-Clouddienst aus Visual Studio.For more information about how to publish your service from Visual Studio, see Publishing to an Azure Cloud Service from Visual Studio.

Weitere Informationen zur Leistungsprofilerstellung in Visual Studio finden Sie unter Einführung in die Leistungsprofilerstellung und Analysieren der Anwendungsleistung durch Verwenden von Profilerstellungstools.To understand more about performance profiling in Visual Studio, see Beginners Guide to Performance Profiling and Analyzing Application Performance by Using Profiling Tools.

Hinweis

Sie können entweder IntelliTrace oder die Profilerstellung aktivieren, wenn Sie den Clouddienst veröffentlichen.You can enable either IntelliTrace or profiling when you publish your cloud service. Sie können nicht beide Verfahren aktivieren.You can't enable both.

Erfassungsmethoden des ProfilersProfiler collection methods

Basierend auf den Leistungsproblemen, die Sie untersuchen möchten, können Sie verschiedene Erfassungsmethoden für die Profilerstellung verwenden:You can use different collection methods for profiling, based on your performance issues:

  • CPU-Sampling : Diese Methode erfasst Anwendungsstatistiken, die für eine erste Analyse von CPU-Auslastungsproblemen hilfreich sind.CPU sampling - This method collects application statistics that are useful for initial analysis of CPU utilization issues. CPU-Sampling ist die empfohlene Methode für den Anfang der meisten Leistungsuntersuchungen.CPU sampling is the suggested method for starting most performance investigations. Die Erfassung von CPU-Samplingdaten wirkt sich nur sehr geringfügig auf die Anwendung aus, für die Sie ein Profil erstellen möchten.There is a low impact on the application that you are profiling when you collect CPU sampling data.
  • Instrumentation : Diese Methode erfasst detaillierte Zeitdaten, die für fokussierte Analysen sowie zur Analyse von Leistungsproblemen bei der Eingabe/Ausgabe hilfreich sind.Instrumentation -This method collects detailed timing data that is useful for focused analysis and for analyzing input/output performance issues. Die Instrumentationsmethode zeichnet jeden Start-, Beendigungs- und Funktionsaufruf der Funktionen in einem Modul während eines Profilerstellungsvorgangs auf.The instrumentation method records each entry, exit, and function call of the functions in a module during a profiling run. Diese Methode eignet sich, um detaillierte Zeitdaten zu einem Abschnitt des Codes zu erfassen und um die Auswirkungen von Eingabe- und Ausgabevorgängen auf die Anwendungsleistung zu verstehen.This method is useful for gathering detailed timing information about a section of your code and for understanding the impact of input and output operations on application performance. Diese Methode ist für Computer mit 32-Bit-Betriebssystemen deaktiviert.This method is disabled for a computer running a 32-bit operating system. Diese Option ist nur verfügbar, wenn Sie den Clouddienst in Azure ausführen, nicht lokal im Compute-Emulator.This option is available only when you run the cloud service in Azure, not locally in the compute emulator.
  • .NET-Speicherbelegung : Diese Methode nutzt die Sampling-Profilerstellungsmethode, um .NET Framework-Speicherbelegungsdaten zu erfassen..NET Memory Allocation - This method collects .NET Framework memory allocation data by using the sampling profiling method. Zu den erfassten Daten gehören Anzahl und Größe der zugeordneten Objekte.The collected data includes the number and size of allocated objects.
  • Parallelität: Diese Methode erfasst Daten zu Ressourcenkonflikten sowie Prozess- und Threadausführungsdaten, die für die Analyse von Anwendungen mit mehreren Threads und Prozessen hilfreich sind.Concurrency - This method collects resource contention data, and process and thread execution data that is useful in analyzing multi-threaded and multi-process applications. Die Parallelitätsmethode erfasst Daten für jedes Ereignis, das die Ausführung des Codes blockiert, wie z. B. ein Thread, der darauf wartet, dass der gesperrte Zugriff auf eine Anwendungsressource freigegeben wird.The concurrency method collects data for each event that blocks execution of your code, such as when a thread waits for locked access to an application resource to be freed. Diese Methode eignet sich für die Analyse von Anwendungen mit mehreren Threads.This method is useful for analyzing multi-threaded applications.
  • Sie können auch die Profilerstellung für Ebeneninteraktion aktivieren, die zusätzliche Informationen zu den Ausführungszeiten synchroner ADO.NET-Aufrufe in Funktionen von Anwendungen mit mehreren Ebenen bereitstellt, die mit einer oder mehreren Datenbanken kommunizieren.You can also enable Tier Interaction Profiling, which provides additional information about the execution times of synchronous ADO.NET calls in functions of multi-tiered applications that communicate with one or more databases. Sie können Ebeneninteraktionsdaten mit einer der folgenden Profilerstellungsmethoden erfassen.You can collect tier interaction data with any of the profiling methods. Weitere Informationen zur Profilerstellung für Ebeneninteraktionen finden Sie unter Ansicht "Ebeneninteraktionen".For more information about tier interaction profiling, see Tier Interactions View.

Konfigurieren von ProfilerstellungseinstellungenConfiguring profiling settings

Die folgende Abbildung zeigt, wie Sie die Profilerstellungseinstellungen im Dialogfeld "Azure-Anwendung veröffentlichen" konfigurieren.The following illustration shows how to configure your profiling settings from the Publish Azure Application dialog box.

Konfigurieren von Profilerstellungseinstellungen

Hinweis

Um das Kontrollkästchen Profilerstellung aktivieren zu aktivieren, muss der Profiler auf dem lokalen Computer installiert sein, mit dem Sie den Cloud-Dienst veröffentlichen.To enable the Enable profiling check box, you must have the profiler installed on the local computer that you are using to publish your cloud service. Der Profiler wird standardmäßig installiert, wenn Sie Visual Studio Ultimate oder Visual Studio Premium installieren.By default, the profiler is installed when you install Visual Studio.

So konfigurieren Sie ProfilerstellungseinstellungenTo configure profiling settings

  1. Öffnen Sie im Projektmappen-Explorer das Kontextmenü für Ihr Azure-Projekt, und wählen Sie anschließend Veröffentlichen aus.In Solution Explorer, open the shortcut menu for your Azure project, and then choose Publish. Detaillierte Informationen zum Veröffentlichen eines Clouddiensts finden Sie unter Veröffentlichen eines Clouddiensts mit den Azure-Tools.For detailed steps about how to publish a cloud service, see Publishing a cloud service using the Azure tools.

  2. Wählen Sie im Dialogfeld Veröffentlichen der Azure-Anwendung die Registerkarte Erweiterte Einstellungen.In the Publish Azure Application dialog box, chose the Advanced Settings tab.

  3. Um die Profilerstellung zu aktivieren, aktivieren Sie das Kontrollkästchen Profilerstellung aktivieren.To enable profiling, select the Enable profiling check box.

  4. Um Ihre Profilerstellungseinstellungen zu konfigurieren, klicken Sie auf den Hyperlink Einstellungen.To configure your profiling settings, choose the Settings hyperlink. Das Dialogfeld "Profilerstellungseinstellungen" wird angezeigt.The Profiling Settings dialog box appears.

  5. Wählen Sie aus den Optionsschaltflächen unter Welche Profilerstellungsmethode möchten Sie verwenden? die gewünschte Profilerstellungsmethode aus.From the What method of profiling would you like to use option buttons, choose the type of profiling that you need.

  6. Aktivieren Sie zum Erfassen der Profilerstellungsdaten für Ebeneninteraktion das Kontrollkästchen Profilerstellung für Ebeneninteraktion aktivieren.To collect the tier interaction profiling data, select the Enable Tier Interaction Profiling check box.

  7. Um die Einstellungen zu speichern, wählen Sie OK.To save the settings, choose the OK button.

    Wenn Sie diese Anwendung veröffentlichen, werden diese Einstellungen verwendet, um die Profilerstellungssitzung für jede Rolle zu erstellen.When you publish this application, these settings are used to create the profiling session for each role.

Anzeigen von ProfilerstellungsberichtenViewing Profiling Reports

Für jede Instanz einer Rolle in Ihrem Clouddienst wird eine Profilerstellungssitzung erstellt.A profiling session is created for each instance of a role in your cloud service. Um die Profilerstellungsberichte zu jeder Sitzung in Visual Studio anzuzeigen, können Sie das Server-Explorer-Fenster anzeigen und den Azure-Computeknoten auswählen, um die Instanz einer Rolle auszuwählen.To view your profiling reports of each session from Visual Studio, you can view the Server Explorer window and then choose the Azure Compute node to select an instance of a role. Danach können Sie den Profilerstellungsbericht anzeigen, wie in der folgenden Abbildung veranschaulicht.You can then view the profiling report as shown in the following illustration.

Anzeigen von Profilerstellungsberichten in Azure

So zeigen Sie Profilerstellungsberichte anTo view profiling reports

  1. Wählen Sie zum Anzeigen des Server-Explorer-Fensters in Visual Studio in der Menüleiste nacheinander die Optionen "Ansicht" und "Server-Explorer".To view the Server Explorer window in Visual Studio, on the menu bar choose View, Server Explorer.

  2. Wählen Sie den Azure-Computeknoten und anschließend den Azure-Bereitstellungsknoten für den Clouddienst aus, den Sie bei der Veröffentlichung aus Visual Studio für die Profilerstellung ausgewählt haben.Choose the Azure Compute node, and then choose the Azure deployment node for the cloud service that you selected to profile when you published from Visual Studio.

  3. Wählen Sie die Rolle im Dienst aus, öffnen Sie dann das Kontextmenü für eine bestimmte Instanz, und wählen Sie Profilerstellungsbericht anzeigen aus, um Profilerstellungsberichte für eine Instanz anzuzeigen.To view profiling reports for an instance, choose the role in the service, open the shortcut menu for a specific instance, and then choose View Profiling Report.

    Der Bericht (eine VSP-Datei) wird nun aus Azure heruntergeladen, und der Status des Downloads wird im Azure-Aktivitätsprotokoll angezeigt.The report, a .vsp file, is now downloaded from Azure, and the status of the download appears in the Azure Activity Log. Wenn der Download abgeschlossen ist, wird der Profilerstellungsbericht auf einer Registerkarte im Editor für Visual Studio unter der Bezeichnung „><Instanznummer><Bezeichner>.vsp“ angezeigt.When the download completes, the profiling report appears in a tab in the editor for Visual Studio named <Role name><Instance Number><identifier>.vsp. Es werden Übersichtsdaten für den Bericht angezeigt.Summary data for the report appears.

  4. Um verschiedene Ansichten des Berichts anzuzeigen, wählen Sie in der Liste der aktuellen Ansichten die gewünschte Ansicht aus.To display different views of the report, in the Current View list, choose the type of view that you want. Weitere Informationen finden Sie unter Berichtsansichten für Profilerstellungstools.For more information, see Profiling Tools Report Views.

Nächste SchritteNext steps

Debuggen von Cloud-Diensten.Debugging Cloud Services

Veröffentlichen eines Clouddiensts mit Azure ToolsPublishing to an Azure Cloud Service from Visual Studio