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

Lorsque Profiler est en cours d’exécution et collecte des traces, il ajoute généralement une surcharge de 5 à 15 % du processeur et de la mémoire à votre serveur.

Le stockage des données capturées par Profiler n’entraîne aucun coût supplémentaire. 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 :