Optimisation des performances pour les Hôtes de session Bureau à distance

Cette rubrique explique comment sélectionner le matériel pour l’Hôte de session Bureau à distance, optimiser l’hôte et optimiser les applications.

Dans cette rubrique :

Sélection du matériel approprié pour favoriser la performance

Pour un déploiement de serveur Hôte de session Bureau à distance, le choix du matériel est régi par l’ensemble des applications et la façon dont les utilisateurs les utilisent. Les facteurs clés qui affectent le nombre d’utilisateurs et leur expérience sont le processeur, la mémoire, le disque et le graphisme. Cette section contient des conseils supplémentaires spécifiques aux serveurs Hôte de session Bureau à distance et est principalement liée à l’environnement multi-utilisateur des serveurs Hôte de session Bureau à distance.

Configuration du processeur

La configuration du processeur est déterminée conceptuellement en multipliant le processeur nécessaire pour prendre en charge une session par le nombre de sessions que le système devra censé prendre en charge, tout en conservant une réserve pour gérer les pics temporaires. Plusieurs processeurs logiques peuvent aider à réduire les situations de congestion anormale des processeurs, qui sont généralement causées par quelques threads hyperactifs contenus par un nombre similaire de processeurs logiques.

Ainsi, plus il y a de processeurs logiques sur un système, moins il faut prévoir de marge de réserve à intégrer à l’estimation de l’utilisation des processeurs, ce qui se traduit par un pourcentage plus élevé de charge active par processeur. Un facteur important à retenir est que le doublement du nombre de processeurs ne double pas la capacité des processeurs.

Configuration de la mémoire

La configuration de la mémoire dépend des applications utilisées par les utilisateurs ; cependant, la quantité de mémoire nécessaire peut être estimée en utilisant la formule suivante : MémoireTotale = MémoireSystèmeExploitation + MémoireSession * NombreSessions

MémoireSystèmeExploitation correspond à la quantité de mémoire dont le système d’exploitation a besoin pour s’exécuter (comme les images binaires du système, les structures de données, etc.), MémoireSession est la quantité de mémoire dont les processus s’exécutant dans une session ont besoin, et NombreSessions est le nombre cible de sessions actives. La quantité de mémoire nécessaire pour une session est principalement déterminée par l’ensemble des références de mémoire privée pour les applications et les processus système qui s’exécutent à l’intérieur de la session. Les pages de code ou de données partagées ont peu d’effet, car une seule copie est présente sur le système.

Une observation intéressante (en supposant que le système de disque auquel le fichier d’échange est adossé ne change pas) est que plus le nombre de sessions actives simultanées que le système prévoit de prendre en charge est élevé, plus l’allocation de mémoire par session doit être élevée. Si la quantité de mémoire allouée par session n’est pas augmentée, le nombre d’erreurs de page générées par les sessions actives augmente avec le nombre de sessions. Ces erreurs finissent par surcharger le sous-système d’E/S. En augmentant la quantité de mémoire allouée par session, la probabilité d’encourir des erreurs de page diminue, ce qui permet de réduire le taux global d’erreurs de page.

Configuration de disque

Le stockage est un des aspects les plus négligés quand vous configurez des serveurs Hôte de session Bureau à distance, et il peut s’agir de la limitation la plus courante dans les systèmes déployés sur le terrain.

L’activité disque générée sur un serveur Hôte de session Bureau à distance classique affecte les éléments suivants :

  • Fichiers système et fichiers binaires des applications

  • Fichiers d’échange

  • Profils utilisateur et données utilisateur

Idéalement, ces éléments doivent être adossés à des périphériques de stockage distincts. L’utilisation de configurations RAID à bandes ou d’autres types de stockage hautes performances améliore davantage encore les performances. Nous vous recommandons fortement d’utiliser des adaptateurs de stockage avec mise en cache des écritures adossée à une batterie. Les contrôleurs avec mise en cache des écritures sur disque offrent une prise en charge améliorée des opérations d’écriture synchrones. Comme tous les utilisateurs ont une ruche distincte, les opérations d’écriture synchrones sont beaucoup plus courantes sur un serveur Hôte de session Bureau à distance. Les ruches de Registre sont régulièrement enregistrées sur le disque en utilisant des opérations d’écriture synchrones. Pour activer ces optimisations, dans la console Gestion des disques, ouvrez la boîte de dialogue Propriétés du disque de destination puis, sous l’onglet Stratégies, cochez les cases Activer le cache d’écriture sur le disque et Désactiver le vidage du cache d’écriture Windows sur le périphérique.

Configuration réseau

L’utilisation du réseau d’un serveur Hôte de session Bureau à distance comprend deux catégories principales :

  • L’utilisation du trafic de connexion de l’Hôte de session Bureau à distance est déterminée quasi exclusivement par les modèles exposés par les applications s’exécutant à l’intérieur des sessions et le trafic d’E/S des périphériques redirigés.

    Par exemple, les applications qui gèrent du traitement de texte et l’entrée de données consomment une bande passante d’environ 10 à 100 Kbits/s, tandis que la lecture de vidéos et du graphisme exigeant entraînent des augmentations significatives de l’utilisation de la bande passante.

  • Des connexions back-ends comme les profils itinérants, l’accès d’applications à des partages de fichiers, les serveurs de base de données, les serveurs de messagerie et les serveurs HTTP.

    Le volume et le profil du trafic réseau sont spécifiques à chaque déploiement.

Optimisation des applications pour l’Hôte de session Bureau à distance

La plus grande partie de l’utilisation du processeur sur un serveur Hôte de session Bureau à distance est déterminée par les applications. Les applications de bureau sont généralement optimisées pour une meilleure réactivité, avec comme objectif de réduire le temps nécessaire à une application pour répondre à une demande de l’utilisateur. Cependant, dans un environnement de serveur, il est tout aussi important de réduire au minimum la quantité totale d’utilisation du processeur nécessaire pour effectuer une action, afin d’éviter d’affecter négativement d’autres sessions.

Tenez compte des suggestions suivantes quand vous configurez des applications qui doivent être utilisées sur un serveur Hôte de session Bureau à distance :

  • Réduire au minimum le traitement des boucles inactives en arrière-plan

    Les exemples classiques sont la désactivation de la vérification grammaticale orthographique en arrière-plan, de l’indexation des données pour la recherche et des sauvegardes en arrière-plan.

  • Réduisez au minimum la fréquence à laquelle une application effectue une vérification ou une mise à jour des états.

    La désactivation de tels comportements, ou l’augmentation de l’intervalle entre les itérations d’interrogation et le déclenchement du minuteur bénéficie considérablement à l’utilisation du processeur, car l’effet de telles activités est rapidement amplifié dès lors qu’il y a un grand nombre de sessions actives. Les exemples classiques sont les icônes d’état de la connexion et les mises à jour des informations des barres d’état.

  • Réduisez au minimum la contention des ressources entre les applications en réduisant leur fréquence de synchronisation.

    Les clés de Registre et les fichiers de configuration sont des exemples de ces ressources. Les indicateurs d’état (comme les notifications du shell), l’indexation en arrière-plan ou la supervision des modifications, et la synchronisation hors connexion sont des exemples de composants et de fonctionnalités des applications.

  • Désactivez les processus non nécessaires qui sont inscrits pour démarrer avec la connexion d’un utilisateur ou le démarrage d’une session.

    Ces processus peuvent contribuer de façon significative au coût de l’utilisation du processeur lors de la création d’une session utilisateur, qui est généralement un processus gourmand en ressources processeur, et il peut s’avérer très coûteux dans les scénarios qui se déroulent le matin. Utilisez MsConfig.exe ou MsInfo32.exe pour obtenir la liste des processus démarrés lors de la connexion de l’utilisateur. Pour plus d’informations, vous pouvez utiliser Exécutions automatiques pour Windows.

Pour la consommation de mémoire, vous devez tenir compte des éléments suivants :

  • Vérifiez que les DLL chargées par une application ne sont pas relocalisées.

    • Les DLL relocalisées peuvent être vérifiées en sélectionnant la vue DLL de processus, comme illustré dans la figure suivante, en utilisant l’Explorateur de processus.

    • Nous pouvons voir ici que y.dll a été relocalisé, car x.dll occupait déjà son adresse de base par défaut et que ASLR n’était pas activé.

      relocated dlls

      Si des DLL sont relocalisées, il est impossible de partager leur code entre des sessions, ce qui augmente considérablement l’empreinte d’une session. C’est un des problèmes de performances liés à la mémoire les plus courants sur un serveur Hôte de session Bureau à distance.

  • Pour les applications CLR (Common Language Runtime), utilisez le générateur d’images natives (Ngen.exe) pour augmenter le partage des pages et réduire la surcharge du processeur.

    Quand c’est possible, appliquez des techniques similaires aux autres moteurs d’exécution similaires.

Paramètres d’optimisation de l’Hôte de session Bureau à distance

Fichier d’échange

Une taille insuffisante du fichier d’échange peut entraîner des échecs d’allocation de mémoire dans les applications ou les composants système. Vous pouvez utiliser le compteur de performances Octets mémoires validés pour superviser la quantité de mémoire virtuelle validée sur le système.

Antivirus

L’installation d’un logiciel antivirus sur un serveur Hôte de session Bureau à distance affecte considérablement les performances globales du système, en particulier l’utilisation du processeur. Nous vous recommandons fortement d’exclure de la liste de supervision active tous les dossiers qui contiennent des fichiers temporaires, en particulier ceux générés par des services et d’autres composants système.

Planificateur de tâches

Le planificateur de tâches vous permet d’examiner la liste des tâches planifiées pour différents événements. Pour un serveur Hôte de session Bureau à distance, il est utile de se concentrer spécifiquement sur les tâches configurées pour s’exécuter en mode inactif, lors de la connexion d’un utilisateur ou lors de la connexion et de la déconnexion d’une session. En raison des spécificités du déploiement, beaucoup de ces tâches peuvent ne pas être nécessaires.

Icônes de notification du Bureau

Les icônes de notification sur le Bureau peuvent avoir des mécanismes d’actualisation assez coûteux en ressources. Vous devez désactiver les notifications en supprimant le composant qui les inscrit dans la liste de démarrage, ou en modifiant la configuration des applications et des composants système pour les désactiver. Vous pouvez utiliser Personnaliser les icônes des notifications pour examiner la liste des notifications disponibles sur le serveur.

Compression des données du protocole RDP

La compression du protocole RDP peut être configurée en utilisant le stratégie de groupe sous Configuration de l’ordinateur>Modèles d’administration>Windows Composants Windows>Services Bureau à distance>Hôte de session Bureau à distance>Environnement de session à distance>Configurer la compression pour les données RemoteFX. Trois valeurs sont possibles :

  • Optimisé pour utiliser moins de mémoire Consomme le moins de mémoire par session, mais a le taux de compression le plus bas et par conséquent, la consommation de bande passante la plus élevée.

  • Équilibre mémoire et bande passante réseau Réduction de la consommation de bande passante tout en augmentant de façon marginale la consommation de mémoire (environ 200 Ko par session).

  • Optimisé pour utiliser moins de bande passante réseau Réduit davantage l’utilisation de la bande passante réseau à un coût d’environ 2 Mo par session. Si vous voulez utiliser cette valeur, vous devez évaluer le nombre maximal de sessions et tester à ce niveau avec cette valeur avant de placer le serveur en production.

Vous pouvez aussi choisir de ne pas utiliser d’algorithme de compression du protocole RDP : nous vous recommandons donc de l’utiliser seulement avec un appareil matériel conçu pour optimiser le trafic réseau. Même si vous choisissez de ne pas utiliser d’algorithme de compression, certaines données graphiques seront compressées.

Redirection d’appareils

La redirection de périphérique peut être configurée en utilisant la stratégie de groupe sous Configuration de l’ordinateur>Modèles d’administration>Composants Windows>Services Bureau à distance>Hôte de session Bureau à distance>Redirection de périphérique et de ressource ou en utilisant la zone des propriétés de Collection de sessions dans le Gestionnaire de serveur.

En règle générale, la redirection de périphérique augmente la bande passante réseau utilisée par les connexions du serveur Hôte de session Bureau à distance, car les données sont échangées entre les périphériques sur les ordinateurs clients et les processus qui s’exécutent dans la session serveur. L’étendue de l’augmentation est fonction de la fréquence des opérations effectuées par les applications qui s’exécutent sur le serveur et impliquant les appareils redirigés.

La redirection d’imprimante et la redirection de périphérique Plug-and-Play augmentent également l’utilisation du processeur lors de la connexion. Vous pouvez rediriger les imprimantes de deux façons :

  • Une redirection basée sur le pilote d’imprimante correspondant quand un pilote pour l’imprimante doit être installé sur le serveur. Les versions antérieures de Windows Server utilisaient cette méthode.

  • Introduite dans Windows Server 2008, la redirection de pilote d’imprimante Easy Print utilise un pilote d’imprimante commun pour toutes les imprimantes.

Nous recommandons la méthode Easy Print, car elle entraîne moins d’utilisation du processeur pour l’installation de l’imprimante au moment de la connexion. La méthode du pilote correspondant entraîne une utilisation accrue du processeur, car elle nécessite le service spouleur pour charger différents pilotes. Pour l’utilisation de la bande passante, Easy Print entraîne une légère augmentation de l’utilisation de la bande passante réseau, mais pas assez significative pour compenser les autres avantages en matière de performances, de facilité de gestion et de fiabilité.

La redirection audio génère un flux constant de trafic réseau. La redirection audio permet également aux utilisateurs d’exécuter des applications multimédias, qui ont généralement une consommation élevée du processeur.

Paramètres de l’expérience client

Par défaut, la connexion Bureau à distance (RDC) choisit automatiquement le paramètre d’expérience approprié en fonction de l’adéquation de la connexion réseau entre le serveur et les ordinateurs clients. Nous recommandons de laisser la configuration de RDC sur Détecter automatiquement la qualité de la connexion.

Pour les utilisateurs avancés, RDC fournit un contrôle sur un ensemble de paramètres qui influencent les performances de la bande passante réseau pour la connexion de Services Bureau à distance. Vous pouvez accéder aux paramètres suivants en utilisant l’onglet Expérience dans Connexion Bureau à distance ou sous forme de paramètres dans le fichier RDP.

Les paramètres suivants s’appliquent lors de la connexion à n’importe quel ordinateur :

  • Désactiver le papier peint (Disable wallpaper:i:0) N’affiche pas le papier peint du Bureau sur les connexions redirigées. Ce paramètre peut réduire considérablement l’utilisation de la bande passante si le papier peint du Bureau est constitué d’une image ou d’un autre contenu avec des coûts significatifs pour l’afficher à l’écran.

  • Mémoire cache bitmaps (Bitmapcachepersistenable:i:1) Quand ce paramètre est activé, il crée un cache côté client des bitmaps qui sont rendus dans la session. Il offre une amélioration significative de l’utilisation de la bande passante, et il doit toujours être activé (sauf s’il existe d’autres considérations de sécurité).

  • Afficher le contenu des fenêtres lors du déplacement (Disable full window drag:i:1) Quand ce paramètre est désactivé, il réduit la bande passante en affichant seulement le cadre de la fenêtre au lieu de tout le contenu quand la fenêtre est déplacée.

  • Animation des menus et des fenêtres (Disable menu anims:i:1 et Disable cursor setting:i:1) : Quand ces paramètres sont désactivés, ils réduisent la bande passante en désactivant l’animation sur les menus (par exemple leur estompement) et sur les curseurs.

  • Lissage des polices (Allow font smoothing:i:0) Contrôle la prise en charge du rendu des polices ClearType. Lors de la connexion à des ordinateurs exécutant Windows 8 ou Windows Server 2012 et ultérieur, l’activation ou la désactivation de ce paramètre n’a pas d’impact significatif sur l’utilisation de la bande passante. Cependant, pour les ordinateurs exécutant des versions antérieures à Windows 7 et Windows 2008 R2, l’activation de ce paramètre affecte considérablement la consommation de bande passante réseau.

Les paramètres suivants s’appliquent seulement lors de la connexion à des ordinateurs exécutant Windows 7 et des versions antérieures du système d’exploitation :

  • Composition du Bureau Ce paramètre est pris en charge seulement pour une session distante sur un ordinateur exécutant Windows 7 ou Windows Server 2008 R2.

  • Styles visuels (Disable themes:i:1) Quand ce paramètre est désactivé, il réduit la bande passante en simplifiant les dessins des thèmes qui utilisent le thème Classique.

En utilisant l’onglet Expérience dans Connexion Bureau à distance, vous pouvez choisir la vitesse de votre connexion pour influencer les performances de la bande passante réseau. Voici la liste des options disponibles pour configurer la vitesse de votre connexion :

  • Détecter automatiquement la qualité de la connexion (Connection type:i:7) Quand ce paramètre est activé, la connexion Bureau à distance choisit automatiquement les paramètres qui permettront d’optimiser l’expérience utilisateur en fonction de la qualité de la connexion. (Cette configuration est recommandée lors de la connexion à des ordinateurs exécutant Windows 8 ou Windows Server 2012 et ultérieur).

  • Modem (56 Kbits/s) (Connection type:i:1) Ce paramètre permet la mise en cache des bitmaps persistantes.

  • Bas débit (256 Kbits/s - 2 Mbits/s) (Connection type:i:2) Ce paramètre active la mise en cache des bitmaps persistantes et des styles visuels.

  • Cellulaire/satellite (2 Mbits/s - 16 Mbits/s avec latence élevée) (Connection type:i:3) Ce paramètre permet la composition du Bureau, la mise en cache des bitmaps persistantes, les styles visuels et l’arrière-plan du bureau.

  • Haut débit (2 Mbits/s - 10 Mbits/s) (Connection type:i:4) Ce paramètre permet la composition du Bureau, l’affichage du contenu des fenêtres lors du déplacement, l’animation des menus et des fenêtres, la mise en cache des bitmaps persistantes, les styles visuels et l’arrière-plan du Bureau.

  • WAN (10 Mbits/s ou plus avec latence élevée) (Connection type:i:5) Ce paramètre permet la composition du Bureau, l’affichage du contenu des fenêtres lors du déplacement, l’animation des menus et des fenêtres, la mise en cache des bitmaps persistantes, les styles visuels et l’arrière-plan du Bureau.

  • LAN (10 Mbits/s ou plus) (Connection type:i:6) Ce paramètre permet la composition du Bureau, l’affichage du contenu des fenêtres lors du déplacement, l’animation des menus et des fenêtres, la mise en cache des bitmaps persistantes, les thèmes et l’arrière-plan du Bureau.

Taille du Bureau

La taille du Bureau pour les sessions à distance peut être contrôlée en utilisant l’onglet Affichage dans Connexion Bureau à distance ou en utilisant le fichier de configuration RDP (desktopwidth:i:1152 et desktopheight:i:864). Plus la taille du Bureau est grande, plus la consommation de mémoire et de bande passante associée à cette session est élevée. La taille maximale actuelle du Bureau est de 4 096 x 2 048.