Meilleures pratiques pour les performances on/off
Plateforme
Clients - Windows Vista | Windows 7
Serveurs- Windows Server 2008 | Windows Server 2008 R2
Description
Les états d’alimentation du système (ou états S), tels que définis dans la spécification ACPI (Advanced Computer Power Interface), sont couramment appelés états activés/désactivés, car la transition d’état S la plus courante est un ordinateur qui s’allume et s’éteint. Les différentes transitions d’état marche/arrêt sur un système exécutant Windows Vista ou Windows 7 sont le démarrage, la mise en veille (ACPI S3), la mise en veille prolongée (ACPI S4) et l’arrêt.
De bonnes performances pendant ces transitions on/off non seulement améliorent la qualité perçue d’un ordinateur, mais affectent également considérablement les modèles d’utilisation quotidienne de l’ordinateur et la fiabilité du système. Les clients peuvent devenir frustrés par des systèmes qui prennent trop de temps à démarrer ou à s’arrêter. Les systèmes mobiles qui ont de longues transitions de mise en veille prolongée et de mise en veille prolongée peuvent épuiser inutilement l’autonomie de la batterie. Des temps d’arrêt plus longs peuvent également nuire à la fiabilité des systèmes mobiles. Par exemple, ils augmentent le risque de coupures de courant inattendues.
Les extensions système telles que les pilotes, les applications et les services peuvent avoir un impact significatif sur les temps de transition activés/désactivés. Cette section décrit certaines des meilleures pratiques que les développeurs d’applications et de services peuvent suivre pour éviter les retards pendant le démarrage, le secours et l’arrêt, et pour garantir une expérience utilisateur après le démarrage et après reprise d’activité. Pour plus d’informations sur la façon d’identifier les problèmes de performances activés/désactivés à l’aide de Windows Performance Toolkit et d’implémenter les recommandations ci-dessous pour votre application ou votre service, consultez les livres blancs de la section « Liens vers d’autres ressources ».
Bonnes pratiques
- Utilisez windows Performance Toolkit pour mesurer les performances pendant toutes les transitions on/off.
- Effectuez des tests de manière contrôlée et effectuez des comparaisons par rapport à une base de référence valide :
- Obtenir une mesure de référence sur un système avec le moins d’extensions système possible
- Ajouter des applications et des services un par un
- Test des régressions inacceptables dans les temps de transition activé/désactivé
- Évitez d’utiliser du code managé pour les applications sur le chemin de démarrage critique.
- Assurez-vous que toutes les applications répondent rapidement aux notifications d’arrêt (WM_QUERYENDSESSION et messages WM_ENDSESSION).
- Réduisez les retards dans le chemin d’arrêt des services et des applications en réduisant l’activité du processeur, du disque et du réseau en réponse aux notifications d’arrêt.
- Évitez les retards dans le traitement de la notification de suspension (WM_POWERBROADCAST message).
- Répondez rapidement aux événements de reprise et réduisez l’utilisation du processeur, du disque et du réseau après la reprise.
- Réduire la consommation des ressources d’application après le démarrage.
- Ne démarrez pas d’applications à partir de la clé RunOnce à chaque démarrage.
- Convertissez tous les services non essentiels en démarrage à la demande ou déclencher le démarrage afin de rendre les ressources système disponibles pendant le démarrage.
- Évitez d’utiliser des groupes d’ordre de chargement pour exprimer les dépendances de service.
- Assurez-vous que tous les services en cours d’exécution signalent cette status dès que possible pendant le démarrage afin d’éviter de bloquer le Gestionnaire de contrôle de service (SCM).
- Évitez d’utiliser du code managé pour les services sur le chemin de démarrage.
- N’autorisez pas les services à accepter de recevoir des notifications de pré-arrêt et d’arrêt (SERVICE_CONTROL_PRESHUTDOWN et SERVICE_CONTROL_SHUTDOWN codes de contrôle), sauf si cela est absolument nécessaire.
- Assurez-vous que tous les services qui ont choisi de recevoir des notifications d’arrêt répondent rapidement au SCM.
- Vérifiez que les services n’acceptent pas de recevoir des notifications de suspension, sauf si cela est absolument nécessaire.
- Assurez-vous que tous les services répondent rapidement aux événements de reprise et réduisez l’utilisation du processeur, du disque et du réseau après reprise.
Liens vers d’autres ressources
- Analyse des performances de transition on/off de Windows Vista
- Analyse des performances Windows
- Documentation de Windows Performance Toolkit sur MSDN
- Forum Analyse des performances Windows
- Suivi d’événements pour Windows sur MSDN