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 Application Insights Profiler für .NET aktiv ausgeführt wird und Ablaufverfolgungen erfasst, steigt die CPU- und Arbeitsspeicherauslastung auf Ihrem Server in der Regel um 5 % bis 15 %.
Es fallen keine zusätzlichen Kosten für das Speichern der Daten an, die vom .NET 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: