Partager via


Recommandations pour la collecte de données sur les performances

S’applique à cette Power Platform recommandation de la liste de contrôle pour une efficacité des performances bien architecturée :

PE:04 Collectez des données de performances. Les composants et flux de charge de travail doivent fournir des métriques et des journaux automatiques, continus et significatifs. Collectez des données à différents niveaux de la charge de travail, tels que les niveaux de l'application, de la plateforme, des données et du système d'exploitation.

La collecte de données de performances est le processus de collecte de métriques et de journaux qui fournissent des informations sur les performances d’une charge de travail. Ces données incluent des valeurs numériques, appelées métriques. Les métriques décrivent l’état du système à un moment donné. Les données de performances incluent également des journaux contenant différents types de données organisées en enregistrements.

En collectant des données de performances, vous pouvez surveiller et analyser les performances d’une charge de travail. Vous pouvez utiliser ces informations pour identifier les goulots d’étranglement des performances, résoudre les problèmes et prendre des décisions basées sur les données afin d’améliorer l’efficacité globale des performances de la charge de travail.

Sans informations basées sur les données, vous pourriez ignorer les problèmes de performances sous-jacents ou les opportunités d’optimisation. Les résultats potentiels incluent des temps de réponse plus lents, une diminution du débit et, finalement, une expérience utilisateur sous-optimale. De plus, le manque de données sur les performances rend difficile le diagnostic et le dépannage des problèmes en temps opportun, ce qui entraîne des temps d’arrêt prolongés et une productivité réduite.

Définitions

Terme Définition
Journaux d’activité Journaux qui suivent les opérations de gestion sur les ressources, telles que la suppression d’une ressource.
Journaux d’applications Journaux qui suivent les informations sur les événements d’application, les erreurs et d’autres activités, telles que les connexions et les échecs de connexion à la base de données.
Outil de surveillance des performances des applications (APM) Un outil qui surveille et rapporte les performances d’une application.
Instrumentation des codes La capture directe ou indirecte des mesures de performances du point de vue du code de l’application. Les métriques capturées incluent les métriques de flux, l’utilisation des ressources et les métriques spécifiques au langage ou au runtime.
Traçage distribué Rassembler et corréler les métriques sur les composants de charge de travail distribués.
Puits de métriques Une destination de stockage pour vos métriques qui corrèle les données de séries chronologiques à des fins d’analyse.
Journaux de plateforme Données de diagnostic et d’audit comprenant des journaux de ressources, des journaux d’activité et des journaux d’audit.
Métriques de la plateforme Valeurs numériques qui enregistrent les performances de la charge de travail à un moment donné.
Journaux de ressource Données générées par un système. Il fournit des informations sur l’état du système.
Journalisation structurée Définir un format significatif pour enregistrer les messages, généralement sous forme de paires clé-valeur.

Stratégies de conception clés

L’optimisation des performances nécessite des données pour mesurer les performances actuelles d’une charge de travail ou d’un flux par rapport à ses objectifs de performances. Vous devez collecter la bonne quantité et la diversité de données pour mesurer les performances du code et de l’infrastructure par rapport aux objectifs de performances. Assurez-vous que chaque composant et flux au sein de la charge de travail génère automatiquement des métriques et des journaux continus et significatifs. Vous devez obtenir ces données à différents niveaux, tels que l’application, la plate-forme, le stockage et le système d’exploitation. La collecte complète de données sur les performances permet une compréhension globale des performances, permettant une identification précise des inefficacités et des pistes d’amélioration.

Centraliser les données de performances

La centralisation des mesures de performances et des journaux est le processus de collecte des mesures de performances et des journaux provenant de diverses sources et de leur stockage dans un emplacement central. Créez un récepteur de métriques central et un récepteur de journaux central. Cette centralisation permet un accès, une analyse et une surveillance faciles des mesures de performances et des journaux sur différents systèmes et composants. En centralisant les métriques et les journaux, vous gagnez en visibilité sur les performances de votre charge de travail. Choisissez une plate-forme ou un outil approprié capable de regrouper et de stocker les métriques et les journaux de performances des charges de travail.

Compromis : comprenez le coût de la collecte des métriques et des journaux. En général, plus vous collectez de métriques et de journaux, plus le coût est élevé.

Données de performances des segments

La segmentation des données de performances implique d’organiser et de catégoriser les métriques et les journaux en fonction de leur origine, de leur objectif ou de leur environnement. Par exemple, vous devez séparer les données de production des données hors production ou faire la distinction entre les objectifs de performances et les mesures commerciales. La segmentation des données aide à optimiser des environnements spécifiques, facilite le dépannage et limite les inexactitudes dans la surveillance des performances. En maintenant une distinction claire entre les différents types de données, vous pouvez capturer, analyser et répondre plus efficacement aux métriques pertinentes et mieux aligner l’état de la charge de travail sur ses objectifs. Pour segmenter les données de performances, tenez compte des recommandations suivantes :

  • Séparez les données de production et les données hors production. En séparant les données par environnement, vous pouvez garantir une surveillance et une optimisation ciblées de chaque environnement. Dans les environnements de production, vous pouvez mieux identifier et résoudre les problèmes de performances qui affectent directement les utilisateurs et les opérations commerciales. Dans les environnements hors production, la séparation des données facilite un dépannage et un réglage efficace pendant la phase de test avant le déploiement en production.

  • Utiliser un ensemble de données dans chaque environnement. N’utilisez pas un ensemble de données pour les objectifs de performances et un autre ensemble de données pour les alertes liées aux objectifs de performances. L’utilisation de différents ensembles de données conduit à des alertes inexactes qui nuisent à l’efficacité du suivi des performances.

  • Séparer les objectifs de performance et les mesures commerciales. Les équipes d’exploitation et de développement utilisent des objectifs de performances pour surveiller l’état de la charge de travail et atteindre les objectifs commerciaux. Les mesures commerciales concernent les objectifs commerciaux ou les rapports clients. Capturez les métriques commerciales dans un flux de données distinct, même si les données se chevauchent directement. Cette séparation vous offre la flexibilité nécessaire pour capturer les bonnes données et analyser les données de manière indépendante.

Définir des politiques de rétention

Les politiques de conservation dictent la durée pendant laquelle les données de performances doivent être conservées. L’établissement de ces politiques permet de gérer efficacement le stockage et garantit que seules les données nécessaires sont accessibles pour l’analyse. De telles politiques favorisent de meilleures performances et répondent aux normes de conformité. Vous devez configurer des politiques de conservation pour les données de journaux et de métriques afin de permettre un dépannage et une surveillance efficaces dans tous les environnements. Par exemple, les journaux et les métriques peuvent devoir être conservés plus longtemps dans un environnement de production que dans un environnement de test. La période de conservation doit correspondre aux exigences et aux réglementations de conformité de votre organisation. Décidez combien de temps conserver les données à des fins d’analyse et d’audit. Archivez les données dont vous n’avez pas besoin pour une analyse immédiate.

Recueillir les données de performances

La collecte de données implique la surveillance et l’analyse des mesures de performances d’une charge de travail, telles que le débit, la latence et les délais d’exécution, principalement collectées via le code d’instrumentation. Les données sur les performances des charges de travail fournissent des informations précieuses sur la santé et les performances d’une application. En surveillant et en analysant les données de performances, vous pouvez identifier et résoudre les problèmes, optimiser les performances et prendre des décisions éclairées pour votre charge de travail.

Code de l’instrument

L’instrumentation fait référence au processus d’intégration d’extraits de code ou d’actions dans le code de vos charges de travail ; par exemple, créer événements de trace personnalisés dans votre application de toile. Le but de l’instrumentation est de capturer les données de performances pendant l’exécution de la charge de travail. Il est essentiel de rassembler des mesures qui mettent en évidence les opérations critiques de la charge de travail. Concentrez-vous sur des mesures telles que le débit, la latence et le temps d’exécution. Il est important de différencier les opérations liées à l’entreprise des autres opérations. Pour les données liées aux opérations commerciales, assurez-vous que leurs métadonnées sont structurées de manière à permettre un suivi et un stockage distincts. L’instrumentation du code offre les avantages suivants :

  • Identifier les goulots d’étranglement des performances : En suivant des mesures telles que le temps écoulé, vous pouvez identifier les goulots d’étranglement et optimiser le code en conséquence.

  • Évaluation du comportement du système sous charge : Vous pouvez voir comment la charge de travail fonctionne dans différents scénarios de stress. Ces données peuvent vous aider à identifier les problèmes liés à l’évolutivité, à la simultanéité et à l’utilisation des ressources.

  • Suivi de l’état et de la disponibilité de la charge de travail  : étant donné que les indicateurs de performance clés sont surveillés en temps réel, vous pouvez recevoir des alertes sur les problèmes potentiels qui affectent les performances de l’application et disponibilité.

  • Améliorez l’expérience utilisateur : Vous pouvez obtenir des informations sur la façon dont les utilisateurs interagissent avec la charge de travail. Utilisez ces informations pour optimiser l’expérience utilisateur et identifier les domaines à améliorer.

  • Planifiez la capacité et allouez les ressources : Les données de performances collectées par les instruments peuvent fournir des informations précieuses sur les besoins en ressources d’une charge de travail. Ces informations peuvent éclairer vos décisions concernant la planification de la capacité et l’allocation des ressources.

Lorsque vous instrumentez du code pour la surveillance des performances, envisagez les stratégies suivantes :

  • Utilisez les outils APM : les outils de surveillance des performances des applications (APM) collectent et analysent les données de performances, notamment les métriques, les traces et les journaux. Les outils APM offrent des fonctionnalités telles que l’instrumentation au niveau du code, le suivi des transactions et le profilage des performances.

  • Instrumentation personnalisée : les développeurs peuvent ajouter du code personnalisé pour collecter des mesures de performances propres à leur application et à leur charge de travail. L’instrumentation personnalisée peut mesurer les temps d’exécution, suivre l’utilisation des ressources ou capturer des événements spécifiques.

  • Capturez les temps de transaction. La capture des temps de transaction concerne la mesure des temps de bout en bout pour les fonctions techniques clés dans le cadre du suivi des performances. Les métriques au niveau de l’application doivent inclure les temps de transaction de bout en bout. Ces temps de transaction doivent couvrir des fonctions techniques clés telles que les requêtes de base de données, les temps de réponse aux appels d’API externes et les taux d’échec des étapes de traitement.

  • Utilisez les normes de télémétrie. Envisagez d’utiliser des bibliothèques d’instrumentation d’outils APM et des outils construits autour d’un standard de télémétrie, tel qu’OpenTelemetry.

Collecter des données sur les performances des ressources

En collectant des données sur les performances des ressources, vous pouvez obtenir des informations sur l’état et le comportement de votre charge de travail. Les données de performance des ressources fournissent des informations sur l’utilisation des ressources, ce qui est essentiel pour la planification des capacités. Ces données fournissent également des informations sur l’état d’une charge de travail et peuvent vous aider à détecter les problèmes et à les résoudre. Suivez les recommandations suivantes :

  • Collectez des métriques et des journaux pour chaque ressource. Chaque service dispose d’un ensemble de métriques propres à la fonctionnalité de la ressource. Ces métriques vous aident à comprendre l’état et les performances de la ressource.

  • Utilisez les outils de la plateforme. Inspirez-vous des solutions de surveillance intégrées et intégrées, telles que Azure Monitor Insights. Cet outil rationalise les opérations de performance. Pensez aux outils de plateforme lorsque vous sélectionnez une plateforme et investissez dans des outils ou des rapports personnalisés.

  • Surveillez le trafic réseau. Surveiller le trafic réseau signifie suivre et analyser le flux et les modèles de données à mesure qu’elles se déplacent sur les chemins du réseau. Collectez des analyses de trafic et surveillez le trafic qui traverse les limites des sous-réseaux. Votre objectif est d’analyser et d’optimiser les performances du réseau.

Collecter les données de base de données et de stockage

De nombreux systèmes de bases de données et de stockage fournissent leurs propres outils de surveillance. Ces outils collectent des données de performances spécifiques à ces systèmes. Les systèmes de bases de données et de stockage génèrent souvent des journaux contenant des événements et des indicateurs liés aux performances. Collectez les données de base de données et les données sur les performances de stockage afin de pouvoir identifier les goulots d’étranglement, diagnostiquer les problèmes et prendre des décisions éclairées pour améliorer les performances globales et la fiabilité de votre charge de travail. Envisagez de collecter les types de données de performances suivants :

  • Débit : le débit mesure la quantité de données lues ou écrites sur le système de stockage sur une période donnée. Les données de débit indiquent les capacités de transfert de données.

  • Latence : la latence mesure la durée des opérations de stockage. Les données de latence indiquent la réactivité du système de stockage.

  • IOPS (opérations d’E/S par seconde) : données sur le nombre d’opérations de lecture ou d’écriture que le système de stockage peut effectuer en une seconde. Les données IOPS indiquent le débit et la réactivité du système de stockage.

  • Utilisation de la capacité : l’utilisation de la capacité correspond à la quantité de capacité de stockage utilisée et à la quantité disponible. Les données sur l’utilisation de la capacité aident les organisations à planifier leurs futurs besoins de stockage.

Collecter les données de performances des connecteurs

Le temps passé à attendre la fin des opérations de services intégrés peut contribuer aux mauvaises performances globales d’une charge de travail. Si votre charge de travail utilise des connecteurs pour intégrer des services, envisagez de mesurer le temps passé dans chaque opération de connecteur pour évaluer son impact et décider s’il convient d’optimiser la conception de votre charge de travail. En fonction du service, vous pouvez utiliser l’historique d’exécution ou une logique personnalisée pour capturer le temps passé dans les opérations du connecteur.

Valider et analyser les données

Vos données de performances doivent correspondre aux objectifs de performances. Les données doivent représenter la charge de travail ou les performances des flux de manière complète et précise en ce qui concerne les objectifs de performances. Par exemple, le temps de réponse d’un service Web a un objectif de performances de 500 millisecondes. Faites de l’analyse des données une routine, car des évaluations fréquentes permettent une détection précoce et une atténuation des problèmes de performances.

  • Créez des alertes. Il est avantageux de disposer d’alertes exploitables, permettant une identification et une rectification rapides des problèmes de performances. Ces alertes doivent indiquer clairement le seuil de performance dépassé, l’effet commercial potentiel et les composants impliqués. Commencez par définir une alerte commune et recommandée. Au fil du temps, vous pourrez modifier ces critères en fonction de vos besoins spécifiques. L’objectif principal de ces alertes doit être de prévoir les baisses de performances potentielles avant qu’elles ne dégénèrent en problèmes importants. Si vous ne parvenez pas à définir une alerte pour une dépendance externe, envisagez de concevoir une méthode permettant de collecter des mesures indirectes, comme la durée d’un appel de dépendance.

  • Fixez des limites de collecte de données. Déterminez et fixez des limites logiques sur le volume de données que vous collectez et leur durée de conservation. La télémétrie peut parfois produire d’énormes quantités de données. Il est essentiel de se concentrer sur la capture uniquement des indicateurs de performance les plus vitaux ou de mettre en place un système efficace pour extraire des informations significatives de vos données de performance.

Power Platform facilitation

Collecte de données sur les performances des applications : Application Insights est une fonctionnalité d’Azure Monitor qui vous aide à surveiller les performances et la disponibilité de votre application. Les données sont stockées dans les journaux Azure Monitor par Application Insights, et visualisé dans Performances et échecs panneaux. Les données sont exportées vers votre environnement Application Insights dans le schéma standard défini par Application Insights. Vous pouvez exporter Dataverse et Power Automate des données vers Application Insights et connecter vos applications canevas à Application Insights.

Application Insights vous permet de choisir Serveur et Navigateur vues de données. En identifiant les opérations dont la durée est la plus longue, vous pouvez diagnostiquer les problèmes potentiels.

Centraliser, segmenter et conserver les données de performances : Microsoft rassemble déjà des données télémétriques approfondies sur Dataverse, Power Automate les flux cloud et les applications basées sur des modèles. Avec l’ Application Insights intégration, un administrateur d’environnement ou de locataire fournit la Application Insights clé d’instrumentation lors de la configuration du processus d’exportation de données dans Power Platform l’administrateur. centre. Dès que la configuration est terminée, les données télémétriques recueillies par Microsoft sur votre environnement sont envoyées à votre Application Insights environnement. Lorsque vous utilisez l’intégration Application Insights, vous recevrez un ensemble standardisé de télémétrie qui suit le modèle de données de télémétrie Application Insights. En plus de cette intégration, vous pouvez également connecter des applications canevas à Application Insights.

Collecte des données sur les performances des ressources Azure : La plupart des services Azure génèrent des journaux et des métriques de plateforme qui fournissent des informations de diagnostic et d’audit. En activant les paramètres de diagnostic, vous pouvez spécifier les journaux et les métriques de la plateforme à collecter et à stocker. À des fins de corrélation, activez les diagnostics pour tous les services pris en charge et envoyez les journaux à la même destination que vos journaux d’application.

Collecte de données sur les performances de la base de données :Microsoft Dataverse s’intègre à Application Insights. Le flux de données fournit actuellement des données de performance liées aux appels d’API entrants Dataverse, aux appels d’exécution de plug-in Dataverse et aux appels de SDK Dataverse. Pour être informé des problèmes, configurez des alertes basées sur des seuils de performances.

Validation et analyse des données de performances : Dans Azure Monitor, vous pouvez utiliser les journaux Azure Monitor pour collecter, analyser et visualiser les données de journaux de vos applications et systèmes. En regroupant les journaux, vous pouvez interroger les événements et obtenir des informations sur les performances de votre application. Pour plus d’informations, consultez Calculs et options des coûts des journaux Azure Monitor** et Tarifs pour Azure Monitor.

Dans Azure Monitor, vous pouvez définir des règles d’alerte pour surveiller des métriques de performances spécifiques et déclencher des alertes en fonction de conditions prédéfinies. Par exemple, vous pouvez créer une règle d’alerte pour vous avertir lorsque le temps de réponse dépasse une limite spécifiée. Configurez la règle d’alerte pour envoyer des notifications aux destinataires souhaités.

Lorsque vous créez une règle d’alerte, vous pouvez définir les critères qui déterminent le moment où une alerte doit être déclenchée. Vous pouvez définir des seuils, des méthodes d’agrégation, des fenêtres horaires et la fréquence d’évaluation. Définissez les critères en fonction de vos exigences en matière de suivi des performances. En plus d’envoyer des notifications, vous pouvez spécifier les actions à entreprendre lorsqu’une alerte est déclenchée. Les actions peuvent inclure l’envoi d’e-mails, l’appel de webhooks ou l’exécution de fonctions Azure. Choisissez les actions appropriées pour répondre au scénario d’alerte spécifique.

Examples

Liste de contrôle pour l’efficacité des performances

Référez-vous à l’ensemble complet des recommandations.