Optimisation des performances et de la réactivité
Les clients s’attendent à des systèmes performants et réactifs. Cela englobe un large éventail de scénarios allant du moment du démarrage à la fluidité des interactions utilisateur avec les applications. L’analyse des problèmes de performances nécessite beaucoup d’expertise et de connaissances spécifiques à un domaine. Microsoft fournit des outils pour vous aider à vous attaquer à cette tâche complexe.
Ce guide vous présente le processus de mesure, d’analyse et de résolution des causes racines des problèmes de performances dans des domaines clés. Les sujets abordés sont les suivants :
Utilisation de Windows Performance Toolkit (WPT)
Capture des traces du journal des traces d’événements (ETL)
Démarrage, lancement de l’application et retards de l’interface utilisateur
Analyse de l’utilisation des ressources du processeur et du disque
Analyse du chemin critique et de l’attente
Objectifs
Ce guide vous montre comment effectuer les tâches suivantes :
Collecter des données pertinentes pour analyser les problèmes de performances sur n’importe quel système
Comprendre le processus d’analyse pour examiner la consommation des ressources système, comme le processeur et le disque
Identifier ce qui peut avoir un impact sur la réactivité du système dans certains scénarios Windows clés
Outils
Le Kit de ressources d’évaluation Windows dans ADK fournit un ensemble de tests liés aux performances appelés évaluations. Les résultats de l’évaluation sont utilisés pour diagnostiquer les problèmes potentiels, afin que le matériel et les logiciels que vous développez soient réactifs et aient un impact minimal sur l’autonomie de la batterie, les performances de démarrage et le temps d’arrêt. Les mêmes évaluations sont disponibles pour les partenaires OEM/ISV/IHV, les passionnés et d’autres membres de la communauté, afin d’établir un cadre commun pour mesurer, comparer et examiner les aspects de la qualité.
Windows Performance Toolkit se compose de deux outils indépendants : Windows Performance Recorder (WPR) et Windows Analyseur de performances (WPA). WPR est un outil d’enregistrement puissant qui crée des enregistrements de suivi d’événements pour Windows (ETW). Vous pouvez exécuter WPR à partir de l’interface utilisateur ou de la ligne de commande (CL). WPR fournit des profils intégrés que vous pouvez utiliser pour sélectionner les événements que vous souhaitez enregistrer. WPA est un outil d’analyse puissant qui combine une interface utilisateur flexible avec des fonctionnalités de graphiques étendues et des tables de données qui peuvent être pivotées et ont des fonctionnalités de recherche en texte intégral.
Comportement de démarrage rapide
Introduit dans Windows 8, le démarrage rapide est le comportement de démarrage par défaut. Le processus d’arrêt a été mis à jour pour inclure l’écriture de données sur le disque d’une manière qui reflète le fonctionnement de la mise en veille prolongée. Pendant le démarrage, le système passe par les phases décrites dans le tableau suivant.
Phase | Description |
---|---|
Initialisation du BIOS | Temps nécessaire au système d’exploitation pour initialiser le BIOS, y compris l’environnement PXE (Pre-Boot Execution Environment). |
Lecture du fichier de mise en veille prolongée | Temps nécessaire au système d’exploitation pour lire le fichier de mise en veille prolongée à partir du disque. Le fichier de mise en veille prolongée contient tout le contexte système tel qu’il est écrit pendant l’arrêt. |
Reprendre les appareils | Temps que prend le système d’exploitation pour reprendre les appareils et les remettre à l’état d’alimentation actif. |
WinLogon Resume | Temps nécessaire au système d’exploitation pour reprendre le processus Winlogon. |
Initialisation Explorer | Temps nécessaire au système d’exploitation pour initialiser l’interpréteur de commandes Windows (explorer.exe). Cette phase se termine lorsque l’écran de bureau ou d’accueil est visible par l’utilisateur. |
Post-activation/désactivation de la durée | Temps nécessaire à Windows pour effectuer toutes les tâches de démarrage après l’affichage du bureau, mais jusqu’à ce que la ressource du processeur et du disque soient inactives. |
Pour plus d’informations sur le comportement de démarrage rapide, consultez la rubrique Performances de transition activées/désactivées sur MSDN.
Planification du processeur et threads
Étant donné que le nombre de processeurs dans un système est limité, tous les threads ne peuvent pas être exécutés en même temps. Windows implémente le partage du temps du processeur, ce qui permet à un thread de s’exécuter pendant un certain temps avant que le processeur bascule vers un autre thread. L’action de basculer entre les threads est appelée un commutateur de contexte et est effectuée par un composant Windows appelé répartiteur. Chaque thread existe dans un état d’exécution particulier à un moment donné. Windows utilise trois états pertinents pour les performances : En cours d’exécution, Prêt et En attente.
Les threads en cours d’exécution sont à l’état En cours d’exécution . Les threads qui peuvent s’exécuter, mais qui ne sont pas en cours d’exécution, sont à l’état Prêt . Les threads qui ne peuvent pas s’exécuter (car ils attendent un événement particulier) sont dans l’état En attente . La figure suivante illustre les transitions de thread possibles.
Un thread à l’état En cours d’exécution lance une transition vers l’état En attente en appelant une fonction d’attente telle que WaitForSingleObject ou Sleep(> 0).
Une opération de thread ou de noyau en cours d’exécution lit un thread à l’état en attente (par exemple, SetEvent ou expiration du minuteur).
Un thread à l’état Prêt est planifié pour traitement par le répartiteur lorsqu’un thread en cours d’exécution attend ou atteint la fin de son quantum d’exécution.
Un thread à l’état En cours d’exécution est désactivé et placé à l’état Prêt par le répartiteur lorsqu’il est préempté par un thread de priorité plus élevée ou lorsque son quantum se termine.
L’état du thread devient un facteur important dans les performances uniquement lorsqu’un utilisateur attend qu’un thread termine une opération.
Pour plus d’informations sur la planification du processeur, consultez la rubrique Analyse du processeur sur MSDN.
Exercices
Ce guide se compose des exercices suivants.