Partager via


Comprendre les informations (version préliminaire)

[Cette rubrique fait partie de la documentation en version préliminaire et peut faire l'objet de modifications.]

Les informations sur les performances répartissent les informations dans les catégories suivantes :

Performance globales

Ces informations résument les performances globales de votre application sous la forme d’une synthèse d’exécution sous l’ID d’informations Perf.Summary.Overview.

Dans ces informations, vous pouvez voir les performances globales de votre application en fonction de la gravité.

  • Critique : indique des performances médiocres.
  • Avertissement : indique que les performances peuvent être améliorées.
  • Informations : indique de bonnes performances.

Comment améliorer

Lorsqu’il est temps d’optimiser l’application, vous pouvez consulter les informations détaillées du client, du réseau, des catégories de personnalisation ainsi que des plug-ins, de savedQuery et des paramètres. Certains éléments exploitables peuvent être dérivés en examinant ces informations.

Environnement client

Lorsque les utilisateurs utilisent une application Power Apps sur leurs appareils, plusieurs facteurs peuvent affecter les performances, tels que le type de navigateur, la version du navigateur et les spécifications du matériel. Dans cette section, vous pouvez voir quelles informations vérifient les environnements client.

Type de navigateur

ID d’informations : Perf.Environment.Client.Browser.Type

Motivation

Certains types de navigateurs web peuvent affecter les performances de votre application. L’utilisation de navigateurs non pris en charge ou non modernes peut ralentir les performances. Ces informations fournissent les implications de performances de différents navigateurs, en particulier des navigateurs non recommandés. Par exemple, Power Apps a déconseillé son support d’Internet Explorer.

Comment améliorer

Si certains utilisateurs utilisent d’anciens navigateurs tels qu’Internet Explorer, passez à un navigateur moderne basé sur Chrome. Nous recommandons aux utilisateurs d’exécuter un navigateur moderne, tel que Microsoft Edge ou Google Chrome.

Notes

Certaines applications héritées exploitant NPAPI ne fonctionneront que sur Internet Explorer.

Version du navigateur

ID d’informations : Perf.Environment.Client.Browser.Version

Motivation

Ces informations vérifient combien d’utilisateurs utilisent votre application à partir d’une ancienne version d’un navigateur. Même lorsque les utilisateurs exécutent des navigateurs modernes, et non des types de navigateurs non recommandés comme Internet Explorer, les anciennes versions des navigateurs fonctionnent plus lentement.

Comment améliorer

Les utilisateurs doivent régulièrement mettre à jour le navigateur afin d’utiliser la dernière version. Les clients d’entreprise peuvent appliquer une stratégie de groupe pour utiliser une version spécifique. Comme Unified Service Desk (USD) utilise également le paramètre de navigateur par défaut de l’ordinateur, il faut aussi vérifier le type et la version du navigateur par défaut.

Configuration minimale requise

ID d’informations : Perf.Environment.Device.MimimumRequirements

Motivation

Ces informations vérifient si l’environnement de l’utilisateur satisfait à la configuration minimale requise. Vous pouvez vérifier la configuration requise pour l’application web afin de voir quelle est la configuration minimale requise en fonction du type d’application.

En général, certaines activités telles que le rendu, la création de scripts et le téléchargement de contenu se déroulent du côté client. Il est nécessaire de satisfaire à la configuration minimale requise pour de telles activités.

Comment améliorer

Les utilisateurs doivent utiliser le matériel qui satisfait à, ou dépasse, la configuration minimale requise pour Power Apps.

Protocole HTTP

ID d’informations : Perf.Environment.Client.Browser.HttpProtocol

Motivation

La plateforme Power Apps prend en charge HTTP/2. Cependant, si votre application utilise le protocole HTTP/1.1 pour les requêtes XMLHttpRequest (XHR) sur Power Apps, cela peut ralentir les performances en raison de la limitation simultanée des requêtes avec le protocole HTTP/1.1.

Comment améliorer

Si ces informations ont identifié certains utilisateurs qui utilisent le protocole HTTP/1.1, nous recommandons fortement que le client de ces utilisateurs prenne en charge le protocole HTTP/2.

Plusieurs configurations et infrastructures réseau peuvent bloquer le protocole HTTP/2, comme un réseau VPN, un serveur proxy ou les paramètres d’options Internet de l’appareil.

Les utilisateurs peuvent vérifier quel protocole a été utilisé à partir d’un outil de développement inclus avec le navigateur. Dans la figure ci-dessous, les appels réseau se sont produits via HTTP/2.

Exemple d’appels réseau HTTP 2.

Si la trace du protocole réseau indique HTTP/1.1, cela peut être dû aux éléments suivants :

  • Paramètres Internet : les options Utiliser HTTP2 et Utiliser TLS 1.2, dans l’onglet Avancé des Options Internet Windows du panneau de configuration, ne sont pas activées.
  • VPN et proxy : bien que les Options Internet Windows soient configurée pour utiliser HTTP2 et TLS 1.2, le navigateur peut revenir en arrière lorsqu’un VPN ou un proxy ne prend pas en charge les protocoles les plus récents.

Modèle d’utilisation

Cette catégorie analyse le type de chargements de page. Un chargement de page à chaud restitue la page à l’aide de caches et d’objets DOM existants, tandis qu’un chargement de page à froid restitue la page en téléchargeant des ressources si nécessaire. Même si les utilisateurs ne distinguent pas le type de chargement de page, ces informations analysent et fournissent des recommandations en fonction du type de chargements de page qui se produisent sur le client.

Type de chargement de page

ID d’informations : Perf.Performance.PageLoadType

Motivation

Les chargements de page à chaud sont plus rapides que les chargements de page à froid, car les ressources nécessaires se chargent à partir des caches locaux.

Notes

Lorsqu’un utilisateur ouvre un formulaire à partir d’un nouvel onglet ou d’un nouvel onglet dans un navigateur, cette opération est considérée comme un chargement de page à froid. Lorsqu’un utilisateur ouvre d’autres formulaires dans l’application dans l’onglet actif d’un navigateur, cette opération est considérée comme un chargement de page à chaud.

Comment améliorer

Pour profiter de chargements de page à chaud pour des performances plus rapides, réduisez les ouvertures de nouveaux onglets ou fenêtres de navigateur. Essayez de conserver les activités dans un seul onglet au lieu d’ouvrir de nouveaux onglets ou fenêtres de navigateur. Nous vous recommandons également de ne pas exécuter le navigateur en mode InPrivate ou navigation privée.

Performance des pages

De nombreuses applications internes pilotées par modèle se composent d’un tableau de bord, de vues (EntityList) et d’un formulaire en ce qui concerne le type de page. Par défaut, les utilisateurs chargent un tableau de bord, bien que les créateurs d’applications et les administrateurs puissent modifier cela. Si un tableau de bord contient de nombreux graphiques et vignettes, le chargement du tableau de bord peut être lent. De même, si EntityList et les formulaires sont personnalisés pour ajouter de nombreuses colonnes et afficher de nombreux enregistrements, cela peut également ralentir le chargement de la page. Par conséquent, la vérification des performances par page et par table peut être bénéfique, car les performances de chargement des pages peuvent avoir différentes causes.

Dans cette section, vous pouvez voir plusieurs informations relatives aux performances des pages.

Tableaux de bord lents

ID d’informations : Perf.ModelDriven.Page.Dashboard.SlowSQLQuery

Motivation

Des requêtes SQL lentes ou l’utilisation d’un trop grand nombre de graphiques et de vignettes dans un tableau de bord peuvent entraîner de mauvaises performances du tableau de bord. Ces informations pointent vers les tableaux de bord qui sont affectés par les requêtes SQL lentes. Lorsque ces informations sont enregistrées, le volet Détails inclut l’ID de tableau de bord pour chaque tableau de bord inclus dans les informations.

Comment améliorer

Voici comment rechercher le nom du tableau de bord à l’aide de l’ID du tableau de bord. Ensuite, vous pouvez déterminer les tableaux de bord à considérer pour la restructuration.

  1. Accédez à votre application pilotée par modèle, telle que https://contoso.crm.dynamics.com.

  2. Modifiez l’URL comme indiqué dans cet exemple (https://contoso.dynamics.com/api/data/v9.1/systemforms[DashboardId]/name) en ajoutant api/data/v9.1/systemforms[DashboardId]/name à l’URL de l’application.

  3. Vous recevrez une requête OData similaire à celle ci-dessous. Le Tableau de bord des agents affiché ci-dessous représente le nom convivial de l’ID de tableau de bord donné.

    {"@odata.context":https://contoso.crm.dynamics.com/api/data/v9.1/$metadata#systemforms(2ff4a8cf-378b-e811-a964-000d3a30dc0a)/name,"value":"Contoso - Agent Dashboard"}

Plug-ins synchrones avec appels externes lents

ID d’informations : Perf.Sandbox.Performance.Plug-ins.ExternalCall

Les plug-ins et les activités de flux de travail personnalisées peuvent accéder aux services web (points de terminaison externes) via les protocoles HTTP et HTTPS. Si ces services externes fonctionnent lentement, le plug-in lui-même expirera ou fonctionnera lentement.

Motivation

Ces informations vérifient les performances des points de terminaison externes et détectent les plug-ins de votre application qui sont affectés par les appels externes lents.

Comment améliorer

Pour plus d’informations : Accéder aux services web externes (Microsoft Dataverse) - Power Apps | Microsoft Docs.

Personnalisation

Les créateurs peuvent effectuer de nombreuses personnalisations avec des applications pilotées par modèles, telles que :

  • Ingérer des fonctions JavaScript personnalisées pour activer des événements sur le client.
  • Créer et déployer des plug-ins utilisés pour exécuter une logique personnalisée.
  • Définir et stocker des tables et des données personnalisées.
  • Définir des composants dépendants pour les tables personnalisées et standard, comme les formulaires et les vues.

Du point de vue des performances, toutes ces personnalisations peuvent entraîner une mauvaise réponse de l’application dans les situations où la personnalisation ne suit pas les meilleures pratiques et recommandations. Les créateurs peuvent exécuter le vérificateur de solution pour valider leurs personnalisations pendant la phase de développement.

Les informations suivantes fournissent également des résultats analytiques à partir des données utilisateur d’exécution de votre personnalisation.

Type d’appel XML HTTP Request (XHR)

ID d’informations : Perf.ModelDriven.Customization.Client.Script.XMLHttpRequestType

Les appels XMLHttpRequest synchrones peuvent entraîner de graves problèmes de performances pour les utilisateurs finaux, en particulier lorsque le réseau est lent ou que plusieurs appels doivent être effectués. Le navigateur se bloque et l’utilisateur final est frustré lorsqu’il ne peut pas cliquer, faire défiler ou interagir avec la page.

Ces informations révèlent s’il existe des méthodes synchrones et indiquent les performances associées.

Motivation

Les appels XHR synchrones empêcheront le navigateur d’effectuer plus de travail étant donné que le navigateur doit attendre la fin de l’appel synchrone, ce qui ralentit ou bloque complètement la page.

Comment améliorer

Nous vous recommandons de modifier les principales méthodes mentionnées dans la section de données des informations, de synchrones à asynchrones. Pour plus d’informations : Boostez vos applications pilotées par modèle en vous éloignant des requêtes synchrones

Contrôles déconseillés

ID d’informations : Perf.Customization.Controls.Deprecated

Certains contrôles plus anciens pour les applications pilotées par modèle comme Flip Switch, Calendar Control (V1), Linear Curseur, Radial Knob, Arc Knob, Linear Gauge, ainsi que le contrôle website Preview, MultiSelectPicklistControl (V1) et Flip Étiquette, sont déconseillés. Certains de ces contrôles peuvent être remplacés par les nouveaux contrôles, qui sont plus en phase avec les technologies web et mobile modernes. Pour plus d’informations : Nouveaux contrôles des applications pilotées par modèles, anciens contrôles déconseillés

Motivation

L’utilisation de contrôles obsolètes peut entraîner des problèmes de performances, de fiabilité et d’accessibilité. De plus, certaines des limitations de ces contrôles déconseillés ont été résolues avec les nouveaux contrôles. Par exemple, le contrôle Bouton à bascule et Calendar Control (V2) utilisent l’IU Microsoft Fluent.

Comment améliorer

  • Utilisez le contrôle Bouton à bascule en remplacement de Flip Étiquette et Flip Switch.
  • Utilisez Calendar Control (V2) en remplacement de Calendar Control (V1).
  • Évaluez les autres contrôles déconseillés pour déterminer s’ils sont toujours utiles dans les formulaires existants.

Notez qu’il y a peu de modifications de conception significatives entre la version déconseillée et les nouveaux contrôles.

Pour plus d’informations sur les contrôles déconseillés, accédez à Contrôles d’applications pilotées par modèles déconseillés.

Performances du bac à sable - plug-ins dominants

ID d’informations : Perf.Sandbox.Performance.Plug-ins.Dominant

Ces informations nous aideront à identifier le plug-in dominant ou, en d’autres termes, celui qui est le plus utilisé. Elles indiqueront également si l’un des plug-ins les plus utilisés a fonctionné lentement avec un temps d’exécution de plug-in supérieur à 100 millisecondes dans le 95e centile. Ces informations répertorient jusqu’à trois plug-ins dominants.

Motivation

Les plug-ins dominants lents ont un impact sur les performances. Ces plug-ins doivent être examinés.

Comment améliorer

Examinez les plug-ins lents. Consultez les meilleures pratiques concernant le développement de plug-ins et de flux de travail.

Pour étudier plus en détail le plug-in lent, vous pouvez définir les paramètres Journal de suivi du plug-in sur Tout dans votre environnement de développement ou de test, puis déterminer où se situe le retard. Cependant, n’oubliez pas de désactiver le paramètre avant de passer en production. Pour plus d’informations : Traçage et journalisation

Examinez les plug-ins lents. Certaines des raisons de la lenteur des plug-ins sont décrites ici :

  • Les requêtes SQL associées étaient lentes, ce qui a augmenté le temps d’exécution du plug-in.
  • Suivez le principe de responsabilité unique pour votre plug-in et n’effectuez pas de transactions avec des limites de transaction importantes.
  • Le plug-in peut effectuer des appels externes, qui sont lents.
  • La logique du plug-in n’est pas optimisée pour les environnements multithreads. Vérifiez votre code.

Pour étudier plus en détail le plug-in lent, vous pouvez définir les paramètres Journal de suivi du plug-in sur Tout dans votre environnement de développement ou de test, puis déterminer où se situe le retard. N’oubliez pas de désactiver le paramètre avant de passer en production. Pour plus d’informations : Traçage et journalisation

Requête enregistrée avec un caractère générique de début

ID d’informations : Perf.ModelDriven.Customization.SavedQuery.LeadingWildCard

Les caractères génériques sont des conditions like ou not like qui utilisent un caractère générique (%) au début d’une chaîne de recherche. Voici un exemple de requête mal rédigée :

<fetch version="1.0" output-format="xml-platform" mapping="logical"> 
    <entity name="account"> 
        <attribute name="accountid" /> 
        <attribute name="accountnumber" /> 
        <filter type="and"> 
            <condition attribute="accountnumber" operator="like" value="%124" /> 
        </filter> 
    </entity> 
</fetch>

Motivation

Un caractère générique de début (%) dans une requête enregistrée peut entraîner un délai d’attente ou une exécution lente de la requête. Ces informations pointent vers ce type de requêtes enregistrées lentes avec des caractères génériques de début.

Comment améliorer

Évitez d’utiliser des caractères génériques de début. Dans la clé de recherche, ceux-ci sont traduits par « contains » dans SQL Server, ce qui ne bénéficiera pas de la recherche d’index mais effectuera une analyse. S’il est nécessaire d’utiliser un caractère générique de début, limitez l’étendue de la recherche en incluant d’autres conditions. Notez qu’il est possible d’utiliser des caractères génériques de fin (%) à la fin des chaînes de recherche.

configuration

Paramètre Journal de suivi du plug-in

ID d’informations : Perf.Sandbox.Configuration.PluginTraceSettings

Les créateurs peuvent déboguer leurs plug-ins à l’aide de journaux de suivi des plug-ins. Les administrateurs Dataverse peuvent définir l’option Suivi de plug-ins et d’activités de workflow personnalisées sur Désactivé, Exception ou Tout.

Paramètres Journal de suivi du plug-in

Motivation

Le journal de suivi du plug-in doit être défini sur Tout uniquement lorsque vous déboguez ou ajustez le plug-in. Un volume élevé de journalisation du suivi peut entraîner une surcharge d’E/S avec SQL Server. De plus, la suppression du journal de suivi du plug-in peut entraîner des blocages ou des attentes avec SQL Server.

Comment améliorer

Dans votre instance de production, si ce paramètre est défini sur Tout et que le volume de journaux générés par votre plug-in est élevé, alors envisagez de changer le paramètre sur Exception.

Pour modifier le paramètre, accédez à Paramètres > Administration > Paramètres système > onglet Personnalisation. Pour plus d’informations : Journalisation et traçage

Réseau

Performances réseau

La latence et le débit du réseau sont des facteurs importants qui affectent l’expérience de l’utilisateur final. Les utilisateurs avec une latence élevée et un faible débit sont davantage susceptibles de rencontrer des performances lentes lors de l’accès à Unified Interface. Ces informations nous indiquent combien d’utilisateurs se trouvent sur un réseau peu performant et à quoi ressemblaient leurs performances.

Motivation

Une mauvaise configuration du réseau affecte les performances de l’application.

Comment améliorer

Si beaucoup d’utilisateurs utilisent le réseau et que les performances sont médiocres, nous recommandons aux utilisateurs de passer à un réseau plus performant.

Voir aussi

Que sont les informations sur les performances ?