La performance dans Terminal Server – La lenteur de l’ouverture des sessions

  • Comprendre le processus d’ouverture de sessions dans Terminal Server
  • Les étapes à suivre

La lenteur de l’ouverture des sessions

Comprendre le processus d’ouverture de session dans Serveur Terminal


Les événements qu’enregistre le journal à l’ouverture de session sont :

1. L’utilisateur clique sur le bouton de connexion

2. Dans le répertoire de session TS, le serveur route l’utilisateur vers le serveur qui abrite la session déconnectée

3. Le serveur négocie avec le client requérant son niveau de chiffrement et les capacités de son canal

4. L’utilisateur est connecté et ses permissions sont vérifiées

5. Vérification des licences. La licence client est vérifiée d’abord first, puis celle du Terminal Server client access.

6. Terminal Server charge le profil de l’utilisateur.

Avant tout, TS contacte le serveur d’authentification pour voir si l’utilisateur dispose d’un profil nomade.

Si c’est le cas, il vérifie si profil local existe.

Si c’est le cas, TS cherche le plus récent

Si la copie distante du profil est récente, le server en fait une copie.

7. TS applique toute GPO récemment configurée

*TS contacte le serveur d’authentification pour vérifier les GPO de l’utilisateur.

*Si c’est le cas, TS les télécharge et les applique

*TS vérifie les filtres, récurions et autres.

*TS traite les extensions des GPO

8. TS lance toute application spécifiée dans les GPO

9. TS exécute les contenus des valeurs des “run” du registre

10. TS exécute le script d’ouverture de session

11. TS lance les programmes du dossier « démarrer » du menu de démarrage

Les étapes à suivre

1ere étape : Isoler le problème 

Collecter le maximum d’informations sur les axes suivants :

L’impact quantitatif de la lenteur.

Quel protocole est concerné : RDP ou ICA?

Que se passe-t-il si un utilisateur touché par la lenteur recourt à une connexion via la console du serveur

Les tranches horaires concernées par la lenteur

Lenteur permanente ou sporadique

Toute chose en commun chez les utilisateurs (type de connexion, bâtiment, matériel informatique…

2ème étape : Vérifiez les profils nomades

Garder en mémoire que dans un environnement avec des profils nomades, le profil entier doit être copié à travers le réseau pour chaque utilisateur qui ouvre une session.

Si vous avez de grands profils nomades, il faut les réduire. Par l’utilisation de la technique de redirection des dossiers, des lecteurs locaux et de l’exclusion des dossiers, il est possible de créer un environnement dans lequel le profil des nomades ne grossit pas. Le profil hybride gagne en popularité ; il ne dépasse pas quelques Mo.

3ème étape : Identifiez tout ce qui se lance quand un utilisateur se connecte

* Vérifier le Script d’ouverture de session :

La diversité des formes de scripts et leur sources : usrlogon.cmd, *.vbs, *.bat, GPO.
* Vérifier la base de registre :

Terminal Servers vérifie les clés suivantes:

Key: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\

Value: AppSetup

* Vérifier les dossiers de démarrage :
Deux dossiers existent : le dossier de « l’utilisateur » et le dossier de « tous les utilisateurs ». Il faut vérifier les deux pour éviter toute surprise.

* Composer avec le temps des programmes lancés au démarrage
Lancer le Gestionnaire de tâches pour voir les processus en relation avec « l’utilisateur » qui consomment le plus de ressources.

4ème étape: Identifiez d’autres activités qui surviennent durant l’ouverture de session

* Vérifier la configuration de tous les programmes

* Vérifier selon RDP ou ICA

* Y a-t-il un mappage de lecteur? Le cas des imprimantes et de la redirection des ports.

* Si certaines de ces options font partie de l’application cmstart.exe, d’autres sont natives

5ème étape : Tracer les logs de débogage de processus d’ouverture de session.

Dans Windows 2000 et Windows Server 2003, une application nommée “userenv.Dll est responsable de la durée de création de l’environnement entier d’ouverture de session de l’utilisateur. Ceci inclut le profil et l’application des GPO.

Vous pouvez activer la log du fichier userenv.dll en ajoutant les entrées suivantes au registre du Terminal Server:

Key: HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Value: UserEnvDebugLevel

Type: REG_DWORD Data: 10002 (Hex)

La valeur 10002 activera les log verbose d’un fichier sur le serveur. Une fois cette valeur est établie, rebooter le serveur and chercher le fichier “userenv.log” dans %SystemRoot%\Debug\UserMode\ folder.

Gardez à l’esprit qu’il faut désactiver cette log car pour chaque connexion, elle ajoute 100 KB.