Erstellen Sie Profile für Produktionsanwendungen in Azure mit Application Insights Profiler for .NET

Das Diagnostizieren von Leistungsproblemen kann schwierig sein – insbesondere, wenn Ihre Anwendung in einer Produktionsumgebung in der dynamischen Cloud ausgeführt wird. Langsame Antworten in Ihrer Anwendung können durch die Infrastruktur, das Framework oder den Anwendungscode verursacht werden, der die Anforderung in der Pipeline verarbeitet.

Mit Application Insights Profiler for .NET können Sie Leistungsablaufverfolgungen für Ihre in Azure ausgeführte Anwendung unabhängig vom Szenario erfassen, identifizieren und anzeigen. Der .NET Profiler-Überwachungsprozess erfolgt automatisch im großen Stil und wirkt sich auf Ihre Benutzer nicht negativ aus. Der .NET Profiler identifiziert Folgendes:

  • Die mittleren, schnellsten und langsamsten Antwortzeiten für jede Web-Anforderung Ihrer Kunden.
  • Der „langsamste“ Codepfad, der bei der Verarbeitung einer bestimmten Webanforderung die meiste Zeit verbraucht.

Aktivieren Sie den Profiler for .NET für alle Ihre Azure-Anwendungen, um Daten mit den folgenden Auslösern zu sammeln:

  • Samplingtrigger: Startet Profiler zufällig etwa einmal pro Stunde für zwei Minuten.
  • CPU-Trigger: Startet Profiler, wenn der Prozentsatz der CPU-Auslastung über 80 Prozent liegt.
  • Arbeitsspeichertrigger: Startet Profiler, wenn die Arbeitsspeicherauslastung über 80 Prozent liegt.

Jeder dieser Auslöser kann konfiguriert, aktiviert oder deaktiviert werden.

Sampling-Rate und Aufwand

Standardmäßig sammelt Profiler aktiv Ablaufverfolgungen pro Stunde für 30 Sekunden oder in Zeiträumen mit hoher CPU- oder Speicherauslastung für 30 Sekunden. Die stündliche Ablaufverfolgung (als Sampling bezeichnet) eignet sich hervorragend für eine proaktive Optimierung, während die hohen CPU- und Speicherablaufverfolgungen (sogenannte Trigger) für reaktive Problembehandlung hilfreich sind.

Hinweis

Wenn Profiler aktiv ausgeführt wird und Ablaufverfolgungen erfasst, werden ihrem Server in der Regel zwischen 5 % und 15 % CPU- und Arbeitsspeicheraufwand hinzugefügt.

Es fallen keine zusätzlichen Kosten für das Speichern der Daten an, die von Profiler erfasst werden. Die Daten werden nach 15 Tagen automatisch gelöscht.

Unterstützt im .NET Profiler

Profiler funktioniert mit .NET-Anwendungen, die für die folgenden Azure-Dienste bereitgestellt werden. Zeigen Sie spezifische Anweisungen zum Aktivieren von Profiler für die einzelnen Diensttypen unter den folgenden Links an.

Computeplattform .NET (>= 4.6) .NET Core
Azure App Service Ja Ja
Azure Virtual Machines und Virtual Machine Scale Sets für Windows Ja Ja
Azure Virtual Machines und Virtual Machine Scale Sets für Linux Nein Ja
Azure Cloud Services Ja Ja
Azure Container Instances für Windows Nein Ja
Azure Container Instances für Linux Nein Ja
Kubernetes Nein Ja
Azure-Funktionen Ja Ja
Azure Service Fabric Ja Ja

Hinweis

Sie können auch den Java Profiler für Azure Monitor Application Insights verwenden, derzeit in der Vorschau.

Wenn Sie den Profiler for .NET aktiviert haben, aber keine Ablaufverfolgungen angezeigt werden, lesen Sie unseren Leitfaden zur Problembehandlung.

Einschränkungen

  • Datenaufbewahrung: Die Standarddauer der Datenaufbewahrung beträgt fünf Tage.
  • Profilierung von Web-Apps:
    • Obwohl Sie den .NET Profiler ohne zusätzliche Kosten nutzen können, muss Ihre Web-App mindestens im Basic-Tarif des Web-Apps-Features von Azure App Service gehostet werden.
    • Sie können an jede Web-App nur einen Profiler anfügen.
    • Der .NET Profiler unter Linux wird nur in Windows-basierten Web-Apps unterstützt.

Nächste Schritte

Erfahren Sie, wie Sie den .NET Profiler für Ihren Azure-Dienst aktivieren: