Profiler des applications de production dans Azure avec Application Insights Profiler pour .NET
Le diagnostic des problèmes de performances de votre application peut s’avérer difficile, en particulier lors d’une exécution sur un environnement de production dans le cloud. Les réponses lentes dans votre application peuvent être provoquées par l’infrastructure, le cadre ou le code de l’application qui gère la requête dans le pipeline.
Avec Application Insights Profiler pour .NET, vous pouvez capturer, identifier et afficher des traces de niveau de performance de votre application s’exécutant dans Azure, quel que soit le scénario. Le processus de trace Profiler .NET se produit automatiquement à grande échelle et n’affecte pas négativement vos utilisateurs. Le Profiler .NET identifie :
- Temps de réponse médian, le plus rapide et le plus lent pour chaque requête web effectuée par vos clients.
- Le chemin de code « chaud » qui passe la plupart du temps à traiter une requête web particulière.
Activez Profiler .NET sur toutes vos applications Azure pour collecter des données avec les déclencheurs suivants :
- Déclencheur d’échantillonnage : démarre Profiler de façon aléatoire environ une fois par heure pendant deux minutes.
- Déclencheur d’UC : démarre Profiler lorsque le pourcentage d’utilisation du processeur est supérieur à 80 %.
- Déclencheur de mémoire : démarre Profiler lorsque l’utilisation de la mémoire est supérieure à 80 %.
Chacun de ces déclencheurs peut être configuré, activé ou désactivé.
Taux d’échantillonnage et surcharge
Par défaut, Profiler collecte activement les traces toutes les heures pendant 30 secondes ou pendant des périodes d’utilisation élevée du processeur ou de la mémoire pendant 30 secondes. Les traces horaires (appelées échantillonnage) sont idéales pour le réglage proactif, tandis que les traces de processeur et de mémoire élevées (appelées déclencheurs) sont utiles pour la résolution réactive des problèmes.
Remarque
Quand Application Insights Profiler pour .NET est en cours d’exécution et collecte des traces, il ajoute généralement une surcharge de 5 à 15 % en termes de processeur et de mémoire sur votre serveur.
Il n’y a aucun coût supplémentaire pour le stockage des données capturées par .NET Profiler. Les données sont automatiquement supprimées après 15 jours.
Pris en charge dans Profiler .NET
Profiler fonctionne avec les applications .NET déployées sur les services Azure suivants. Affichez les instructions spécifiques pour activer Profiler pour chaque type de service via les liens suivants.
Plateforme de calcul | .NET (>= 4.6) | .NET Core |
---|---|---|
Azure App Service | Oui | Oui |
Machines virtuelles Azure et groupes de machines virtuelles identiques pour Windows | Oui | Oui |
Machines virtuelles Azure et groupes de machines virtuelles identiques pour Linux | Non | Oui |
Azure Cloud Services | Oui | Oui |
Azure Container Instances pour Windows | Non | Oui |
Azure Container Instances pour Linux | Non | Oui |
Kubernetes | Non | Oui |
Azure Functions | Oui | Oui |
Azure Service Fabric | Oui | Oui |
Remarque
Vous pouvez également utiliser le Profileur Java pour Azure Monitor Application Insights, actuellement en préversion.
Si vous avez activé le Profiler .NET et que vous ne voyez pas les traces, consultez notre Guide de résolution des problèmes.
Limites
- Rétention des données : par défaut, la période de rétention des données est de 5 jours.
- Profilage d’applications web :
- Même si vous pouvez utiliser le Profiler .NET gratuitement, votre application web doit être hébergée au moins au niveau De base de la fonctionnalité Web Apps d’Azure App Service.
- Vous pouvez joindre 1 seul profileur à chaque application web.
- Profiler .NET sur Linux est uniquement pris en charge sur les applications web Windows.
Étapes suivantes
Découvrez comment activer le Profiler .NET sur votre service Azure :