Recommandations pour optimiser la logique
S’applique à cette recommandation de la liste de contrôle d’efficacité des performances bien conçues : Power Platform
PE:06 | Utilisez une logique performante et assurez-vous qu’elle décharge les responsabilités sur la plateforme. Utilisez la logique uniquement pour l’usage auquel elle est destinée et seulement lorsque cela est nécessaire. |
---|
Ce guide décrit les recommandations pour optimiser les performances du code et de l’infrastructure. Pour optimiser votre code et votre infrastructure, vous devez utiliser vos composants uniquement pour leur objectif principal et uniquement lorsque cela est nécessaire. Lorsque vous utilisez de manière excessive le code et l’infrastructure, cela crée une consommation de ressources inutile, des goulots d’étranglement et des réponses lentes. Pour compenser ces inefficacités, vous devez ajouter davantage de ressources pour accomplir les mêmes tâches.
Définitions
Terme | Définition |
---|---|
Concurrence | Lorsque plusieurs tâches ou processus sont exécutés simultanément, mais pas nécessairement exactement au même moment. |
Parallélisme | Lorsque plusieurs tâches ou processus sont exécutés en même temps. |
Stratégies de conception clés
L’optimisation de la logique et de l’infrastructure implique d’affiner la logique et l’infrastructure de support pour améliorer l’efficacité des performances. Cela nécessite une logique performante qui exécute les tâches rapidement et ne gaspille pas de ressources. Cela nécessite une infrastructure bien conçue et rationalisée pour éviter toute complexité inutile. Une charge de travail doit utiliser les capacités inhérentes à la plateforme. Cette approche permet de garantir que la logique et l’infrastructure sont utilisées principalement pour leurs objectifs principaux et uniquement lorsque cela est nécessaire.
Optimiser les performances logiques
Pour optimiser les performances logiques, modifiez le code pour réduire l’utilisation des ressources, minimiser le temps d’exécution et améliorer les performances. Vous pouvez modifier la logique pour améliorer l’efficacité et la vitesse d’une application ou d’un flux. Ne masquez pas les problèmes de performances avec la force brute. La force brute signifie ajouter des ressources de calcul pour compenser les performances du code, comme ajouter une capacité supplémentaire au lieu de s’attaquer à la source. Vous devez résoudre les problèmes de performances grâce à l’optimisation. Lorsque vous optimisez les performances logiques, cela contribue à maximiser l’utilisation des ressources système, améliore le temps d’exécution, réduit la latence et améliore l’expérience utilisateur.
Instrumentez votre logique
L’instrumentation logique fait référence à la pratique consistant à ajouter une journalisation d’événements personnalisée pour collecter des données et surveiller les performances de la logique pendant l’exécution. L’instrumentation logique permet aux développeurs de collecter des informations sur des mesures clés telles que le temps d’exécution. En instrumentant la logique, les développeurs peuvent obtenir des informations sur les chemins d’accès logiques, identifier les goulots d’étranglement des performances et optimiser la logique pour une meilleure efficacité des performances.
Idéalement, vous devriez effectuer une analyse logique au début du cycle de vie du développement logiciel. Plus tôt vous détectez un problème logique, moins il coûte cher à résoudre. Vous souhaitez automatiser autant que possible cette analyse logique. Utilisez des outils d’analyse de code dynamique et statique pour réduire l’effort manuel. Par exemple, Flow Checker peut mettre en évidence une logique qui n’est pas censée être performante, comme une requête qui ne spécifie pas de critères de filtre. Cependant, gardez à l’esprit que ce test est toujours une simulation de production. La production offre la compréhension la plus claire de l’optimisation logique.
Compromis : les outils de surveillance logique sont susceptibles d’augmenter les coûts.
Identifier les chemins chauds
En instrumentant votre logique, vous pouvez mesurer la consommation de ressources pour différents chemins logiques. Ces mesures vous aident à identifier les chemins chauds. Les chemins chauds ont un effet significatif sur les performances et l’utilisation des ressources. Il s’agit de sections critiques ou fréquemment exécutées d’un programme qui nécessitent des performances élevées et une faible latence.
Pour identifier les chemins d’accès prioritaires au code, tenez compte des étapes suivantes :
Analyser les données d’exécution : collectez les données d’exécution et analysez-les pour identifier les zones de la logique qui consomment le plus de temps écoulé. Recherchez des modèles ou des sections de logique qui sont fréquemment exécutés ou qui prennent beaucoup de temps à réaliser.
Mesurer les performances : utilisez des outils de profilage ou des frameworks de test des performances pour mesurer le temps d’exécution et la consommation de ressources de différents chemins logiques. Ce processus permet d’identifier les goulots d’étranglement et les domaines à améliorer. Par exemple, vous pouvez utiliser Monitor dans Power Apps pour mieux comprendre le fonctionnement des événements et des formules de votre application afin d’améliorer les performances.
Tenez compte de la logique métier et de l’effet utilisateur : évaluez l’importance des différents chemins logiques en fonction de leur pertinence par rapport aux fonctionnalités de l’application ou aux opérations métier critiques. Déterminez quels chemins logiques sont essentiels pour fournir de la valeur aux utilisateurs ou pour répondre aux exigences de performances.
Optimiser la logique
L’optimisation de la logique consiste à affiner la structure et la conception de la logique pour effectuer des tâches avec moins de ressources. Une logique améliorée réduit les opérations inutiles. Il crée une exécution plus rapide avec une consommation de ressources moindre. Vous devez supprimer toutes les opérations inutiles dans le chemin logique qui pourraient affecter les performances. Donnez la priorité à l’optimisation des chemins chauds pour obtenir les meilleurs gains d’efficacité en termes de performances.
Pour optimiser la logique, envisagez les stratégies suivantes :
Supprimer les appels de fonctions inutiles :Révisez votre logique et identifiez les fonctions qui ne sont pas essentielles à la fonctionnalité souhaitée et qui pourraient affecter négativement les performances. Par exemple, si un appel de fonction exécute une validation effectuée plus tôt dans le code, vous pouvez supprimer l’appel de fonction de validation inutile.
Minimiser les opérations de journalisation :La journalisation peut être utile pour le débogage et l’analyse, mais une journalisation excessive peut affecter les performances. Évaluez la nécessité de chaque opération de journalisation et supprimez tous les appels de journalisation inutiles qui ne sont pas critiques pour l’analyse des performances. Une bonne pratique consiste à permettre à votre système d’activer et de désactiver la journalisation, pour faciliter le débogage sans provoquer de problèmes de performances de production.
Optimiser les boucles et les conditions :Analysez les boucles et les conditions dans votre logique et identifiez les itérations ou conditions inutiles qui peuvent être éliminées. Simplifier et optimiser ces structures peut améliorer les performances de votre code. Minimisez les appels de fonctions dans les boucles et éliminez les calculs redondants. Envisagez de déplacer les calculs en dehors de la boucle.
Réduire le traitement inutile des données :Révisez votre logique pour détecter toute opération de traitement de données inutile, telle que des calculs ou des transformations redondants. Éliminez ces opérations inutiles pour améliorer l’efficacité de votre logique. Par exemple, utilisez Dataverse colonnes calculées, champs cumulatifs ou Power Fx colonnes au lieu de calculer la valeur dans le code et de la stocker avec une opération de sauvegarde.
Optimiser les structures de données. Pour stocker et récupérer efficacement des données, utilisez des structures de données appropriées et uniquement les colonnes de données requises. Choisissez la meilleure structure de données pour un problème spécifique. Une structure de données appropriée améliore les performances de l’application.
Réduire les requêtes réseau : si votre logique implique d’effectuer des requêtes réseau (par exemple, à l’aide d’une action de connecteur), réduisez le nombre de requêtes et optimisez leur utilisation. Effectuez des requêtes par lots lorsque cela est possible et évitez les allers-retours inutiles pour améliorer les performances.
Réduire la taille de la structure des données : examinez les exigences en matière de données et éliminez tous les champs ou propriétés inutiles. Optimisez l’utilisation de la mémoire en sélectionnant les types de données appropriés et en regroupant les données efficacement.
Travaillez de manière asynchrone : évaluez si le travail pourrait être Terminé de manière asynchrone au lieu de manière synchrone dans votre logique. Par exemple, au lieu d’effectuer l’opération en ligne, envisagez d’implémenter un flux pour traiter le travail de manière asynchrone. Power Automate
Configurez avant de personnaliser. Utilisez des composants d’application standard si vous le pouvez. Les personnalisations telles que les plug-ins et JavaScript peuvent affecter les performances.
Minimiser les contrôles. Affichez uniquement les champs dont vous avez besoin dans les formulaires : trop de champs peuvent encombrer l’interface utilisateur et affecter les performances. Réduisez le nombre de contrôles dans la barre de commandes, l’application canevas ou la page personnalisée. Évitez d’imbriquer des galeries ou d’ajouter trop de composants à une galerie.
Optimiser les requêtes de données. Chargez uniquement les données dont vous avez besoin dans une application ou un flux. Utilisez des vues côté serveur pour préfiltrer les données afin d’affiner les données pertinentes pour votre requête.
Consultez les recommandations de performances spécifiques au produit avec lequel vous travaillez. Power Platform Évaluez votre logique par rapport à ces recommandations pour identifier les domaines à améliorer.
Compromis : l’optimisation de la logique et des chemins d’accès nécessite une expertise. L’identification des inefficacités logiques est subjective et peut nécessiter des personnes hautement qualifiées, que vous devrez peut-être faire appel à d’autres tâches.
Utiliser la concurrence et le parallélisme
L’utilisation de la concurrence et du parallélisme implique l’exécution de plusieurs tâches ou processus simultanément ou de manière superposée afin d’utiliser efficacement les ressources informatiques. Ces techniques augmentent le débit global et le nombre de tâches qu’une charge de travail peut traiter. Lorsque vous exécutez des tâches simultanément ou en parallèle, cela peut réduire le temps d’exécution de l’application et augmenter les temps réponse.
La concurrence et le parallélisme répartissent efficacement la charge de travail entre les ressources informatiques. Lorsque vous augmentez la concurrence ou le parallélisme, tenez compte de l’impact sur d’autres systèmes, car vous risquez de dépasser leurs limites. Par exemple, une boucle simultanée dans un flux traitant chaque élément à la fois pourrait dépasser les limites de demande d’un connecteur utilisé dans la logique de la boucle. Power Automate
Utiliser le parallélisme. Le parallélisme est la capacité d’un système à exécuter simultanément plusieurs tâches ou processus sur plusieurs ressources informatiques. Le parallélisme divise une charge de travail en tâches Sélectionner qui sont exécutées en parallèle. Lorsque vous exécutez la logique en parallèle, les performances s’améliorent car la charge de travail est répartie sur plusieurs branches.
Utiliser la concurrence. La concurrence est la capacité d’un système à exécuter plusieurs tâches ou processus. La concurrence permet à différentes parties d’une charge de travail de progresser de manière indépendante, ce qui peut améliorer les performances globales.
Exécution simultanée : l’exécution simultanée permet à la même logique de s’exécuter simultanément. Limiter l’exécution simultanée à une seule peut avoir pour effet de sérialiser la logique, ce qui entraîne le traitement d’un élément à la fois. Le contrôle de la quantité d’exécution simultanée des éléments de charge de travail peut aider à gérer l’utilisation des ressources pendant le traitement. Par exemple, les boucles de flux peuvent être configurées pour traiter plusieurs actions en parallèle à l’aide de la propriété Contrôle simultané. Power Automate
Note
Avant d’activer la concurrence, gardez à l’esprit que cela signifie que plusieurs actions seront effectuées en même temps. Si vous écrivez des données dans le cadre de la boucle, assurez-vous que la destination des données peut gérer les demandes simultanées.
Files d’attente : une file d’attente est une mémoire tampon de stockage située entre un composant demandeur (producteur) et le composant de traitement (consommateur) de la charge de travail. Il peut y avoir plusieurs consommateurs pour une seule file d’attente. À mesure que les tâches augmentent, vous devez adapter les consommateurs pour répondre à la demande. Le producteur place les tâches dans une file d’attente. La file d’attente stocke les tâches jusqu’à ce qu’un consommateur ait de la capacité. Une file d’attente est souvent le meilleur moyen de transférer du travail à un service de traitement qui connaît des pics de demande. Pour plus d’informations, consultez Modèle de nivellement de charge basé sur la file d’attente et Files d’attente de stockage et files d’attente Service Bus.
Optimiser les tâches en arrière-plan
De nombreuses applications nécessitent des tâches d’arrière-plan qui s’exécutent indépendamment de l’interface utilisateur. L’application peut démarrer le travail et continuer à traiter les demandes interactives des utilisateurs. Les exemples de tâches en arrière-plan incluent les tâches par lots, les tâches gourmandes en ressources processeur et les processus de longue durée, tels que les workflows. Les tâches en arrière-plan ne doivent pas bloquer l’application ni provoquer d’incohérences en raison d’un fonctionnement retardé lorsque le système est sous charge. Pour plus d’informations sur l’optimisation des tâches en arrière-plan, consultez Recommandations pour le développement de tâches en arrière-plan.
Facilitation de Power Platform
Code d’instrumentation :Lors de la création d’applications canvas, des modèles performants doivent être utilisés pour améliorer l’efficacité de l’application, tandis que les anti-modèles doivent être évités. Pour plus d’informations, voir Présentation de la création de performances Power Apps. Utiliser Moniteur dans Power Apps pour diagnostiquer et résoudre les problèmes de performances pendant le développement.
Mesurer l’engagement et les résultats :Lors de la construction de copilotes, le suivi engagement conversationnel et Résultats est essentiel pour mesurer les performances du copilote et découvrir les domaines à améliorer.
Optimisation de la logique du code : grâce à la fonctionnalité de vérificateur de solution , vous pouvez effectuer une analyse statique approfondie de vos solutions par rapport à un ensemble de règles de bonnes pratiques et identifier rapidement les modèles problématiques. Avec Flow Checker, vous pouvez obtenir des informations sur les domaines de la mise en œuvre de votre flux qui présentent un risque de performance ?
Utilisation de la concurrence et du parallélisme : Power Automate les flux cloud prennent en charge la concurrence dans les boucles et les déclencheurs. Notez que les limites de concurrence, de boucle et de débattage s’appliquent et sont basées sur votre profil de performances. Power Apps prendre en charge la concurrence à l’aide de la fonction Concurrent .
Optimisation des Dataverse performances : Microsoft Dataverse fournit un cadre extensible qui permet aux développeurs de créer des expériences hautement personnalisées et adaptées. Lorsque vous personnalisez, étendez ou intégrez Dataverse, vous devez connaître les bonnes pratiques et les conseils établis. Voir Bonnes pratiques et conseils pour utiliser Microsoft Dataverse.
Informations associées
- Limites de concurrence, de bouclage et de débattage dans Power Automate
- Conseils spécifiques au produit pour optimiser les performances de Dynamics 365
- Réglage et optimisation des performances des applications d’engagement client
- Présentation de la création de performances Power Apps
- Aperçu du moniteur
- Améliorez les performances, la stabilité et la fiabilité des composants avec le vérificateur de solutions
Liste de contrôle Efficacité des performances
Référez-vous à l’ensemble complet des recommandations.