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.

La performance dans Terminal Server – Dépannage des arrêts aléatoires, les pauses et gels.

 

  • Recherche des applications qui prennent 100 % de la CPU.
  • S’occuper des applications trop zélées.
  • Recherche des périodes où tout va au zéro.


Dépannage des arrêts aléatoires, les pauses et gels

Les blocages et arrêts intempestifs que connait TS sont les problèmes les plus difficiles à surmonter. Les causes se cachent souvent derrières des pilotes, des SP ou des fixes. Les problèmes intempestifs se résument en deux catégories :

Une application ou un process s’accapare 100 % des ressources pour un court moment Durant lequel les sessions d’utilisateurs ne répondent pas.

Le serveur « gèle » pour quelques secondes puis tout redevient normal. Pendant ce temps toutes les performances sont à zéro. Pour y faire face, procédez comme suit :

Etape 1. Fouillez le Web pour votre problème
Etape 2. Les SP, Hotfixes
Etape 3. Lancez le Moniteur de Performance

Recherche des applications qui prennent 100 % de la CPU

Ceci est évident, encore faut-il savoir exactement ce qui se produit quand le système ralentit. Est-ce que la CPU marque des pics. Si oui, il faut, il faut trouver ce qui causé ce pic. Si un profil nomade est en cours de chargement. Si un groupe d’utilisateur vient d’ouvrir des sessions. Parfois, le responsable du pic est une application ou un process.

S’occuper des applications trop zélées

Sur le marché, on peut trouver des outils de surveillance de la CPU. Voici un exemple :

*Appsense Optimizer (www.appsense.com )

*RES PowerFuse CPUShield (www.respowerfuse.com )

*TAME (www.tamedos.com )

*TMuLimit (http://www.tmurgent.com/TMuLimit.htm)

*ThreadMaster (http://threadmaster.tripod.com).

Recherche des périodes où tout va au zéro.

Les recherches fructueuses sur le Web, le patching et la mise à jour des pilotes et des firmewares contribuent à surmonter les problèmes que vous rencontrez. Cependant, si les problèmes persistent, il reste quelques pistes à explorer.

Dans certains cas, tous les indicateurs de performance plongent durant quelques seconds et tout s’arrête. Puis le système se redresse laissant à gauche de la fenêtre un vide au niveau du zéro.

Dans des cas moins extrêmes, vous ne remarquez rien d’étrange dans le monteur de performances. Dans les faits, tout pourrait sembler normal alors que les performances ont pris sérieux coup. Les paragraphes suivants tentent d’ y apporter une réponse.

Dans un cas, TS servant 25 utilisateurs, présentait des lenteurs que le moniteur de performance ne révélait pas. En fait, le ralentissement se produisait chaque fois qu’un utilisateur nomade tentait d’accéder à son dossier « Application data » redirigé à un lecteur distant. En redirigeant ce dossier du profil, le serveur ralentit à l’occasion de ces accès (fréquents).