Il y a quelques semaines nous avons traité un problème de lenteur d’ouverture de session (SBSL : Slow Boot Slow Logon) sur des fermes XenApp 6.0 (Us) et XenApp 6.5 R03 (Us), les temps d’ouverture des applications publiées prenaient en moyenne 45 secondes au lieu des 25/30 habituels (bien que ce temps soit déjà un peu au dessus d’une bonne ouverture de session) .
un utilisateur patient ou résigné ? les deux ?
Dans un premier temps il convient de vérifier que les serveurs XenApp ont bien les hotfix conseillés par Citrix via la CTX129229 (regarder aussi la CTX133873 qui traite des problèmes de lenteur d’ouverture de session avec des RODC) ainsi que les KB suivantes KB973772, KB977346, KB2409711 et KB977346.
Schéma des étapes précédent le lancement d’une application publiée via une Web Interface
Dans un second temps nous allons prendre une trace d’ouverture de session causant problème avec Xperf 4.1.6512 (on aurait pu prendre la 6.3.9600 au passage 😉 ).
- WPT Kit v.4.1.1 x86 version (4.4MB)
- WPT Kit v.4.1.1 x64 version (4.8MB)
WPT Kit v.4.1.1 ia64 version (7.0MB)
Pour plus d’info sur Xperf c’est juste en dessous :
- http://msdn.microsoft.com/en-us/library/windows/hardware/hh162920.aspx
- http://blogs.msdn.com/b/pigscanfly/archive/2008/02/09/xperf-a-new-tool-in-the-windows-sdk.aspx
- http://blogs.technet.com/b/askperf/archive/2008/06/27/an-intro-to-xperf.aspx
Pour lancer une trace Xperf (nous passons l’installation d’Xperf qui est une suite de Next Next Next) nous avons lancé la ligne de commande ci-dessous :
xperf -on base+latency+dispatcher+NetworkTrace+Registry+FileIO -stackWalk CSwitch+ReadyThread+ThreadCreate+Profile -BufferSize 128 -start UserTrace -on “Microsoft-Windows-Shell-Core+Microsoft-Windows-Wininit+Microsoft-Windows-Folder Redirection+Microsoft-Windows-User Profiles Service+Microsoft-Windows-GroupPolicy+Microsoft-Windows-Winlogon+Microsoft-Windows-Security-Kerberos+Microsoft-Windows-User Profiles General+e5ba83f6-07d0-46b1-8bc7-7e669a1d31dc+63b530f8-29c9-4880-a5b4-b8179096e7b8+2f07e2ee-15db-40f1-90ef-9d7ba282188a” -BufferSize 1024 -MinBuffers 64 -MaxBuffers 128 -MaxFile 1024
Une fois la trace lancée, il vous faut lancer une application publiée sur un serveur (de préférence avec aucun utilisateur dessus). Dès l’application publiée lancée, vous pouvez arrêter la trace.
Pour arrêter la trace Xperf :
xperf -stop -stop UserTrace -d merged.etl
Les problèmes de lenteur d’ouverture de session peuvent avoir plusieurs origines comme (liste non exhaustive) :
- GPOs
- Login Script
- Mappage de périphérique(s)
- Profil (taille, type de profil)
- Redirection de dossiers
- Problème WMI et SMB
- Application publiées (temps d’ouverture de l’application)
Le problème devrait se situer dans une de ces étapes 😉
A partir du serveur où a été installé Xperf, allez dans le menu démarrer-Programs-Microsoft Windows Performance Toolkit puis lancer Performance Analyzer
Ouvrez la trace précédemment réalisée
Dans la section Winlogon, on s’aperçoit que la partie GPCLIENT prend plus de 8 secondes (une première piste)
Maintenant on va dans la section Process afin de faire un export des process et de trouver le PID de notre logon script
Clique droit puis Export full Table
Une fois le login script trouvé on relève son PID
Afin d’afficher la durée de notre logon script dans la section Winlogon il faut faire un clique droit Overlay graph-CPU Sampling by Process et on clique sur le PID du logon script.
La lecture de la trace fait apparaître deux problèmes, l’application des GPO qui prend 8 secondes avec un logon script qui en prend presque 13, ce qui est pénalisant dans notre cas puisque le Run logon scripts synchronously est activé (Exécuter les scripts d’ouverture de session simultanément) ce qui force l’exécution du logon script avant le lancement de l’application publiée.
Avec nos 8 secondes nous sommes au dessus des 7 secondes maximum 🙂
Voir le billet Optimizing Group Policy Performance
Nous avons donc deux axes d’amélioration qu’il va falloir traiter rapidement, un GPLCIENT trop long et un logon script qui prend son temps.
quelques liens traitant des problèmes de type SBSL :
- http://blogs.technet.com/b/askpfeplat/archive/2013/03/12/slow-boot-slow-login-sbsl-hotfix-rollup-for-windows-7-and-server-2008-r2-available-today.aspx
- http://www.shaunritchie.co.uk/xenapp-slow-logon-troubleshooting-and-optimisation
- http://social.technet.microsoft.com/wiki/contents/articles/10128.tools-for-troubleshooting-slow-boots-and-slow-logons-sbsl.aspx
- http://blogs.technet.com/b/askpfeplat/archive/2012/06/09/slow-boot-slow-logon-sbsl-a-tool-called-xperf-and-links-you-need-to-read.aspx
- http://blogs.technet.com/b/askpfeplat/archive/2012/06/25/becoming-an-xperf-xpert-the-slow-boot-case-of-the-nettcpportsharing-and-nla-services.aspx
Salut David,
Merci pour le message. Au sujet d’xperf, une belle explication ici:
http://blogs.technet.com/b/askpfeplat/archive/2012/06/09/slow-boot-slow-logon-sbsl-a-tool-called-xperf-and-links-you-need-to-read.aspx
et ici :
http://blogs.technet.com/b/askpfeplat/archive/2012/06/25/becoming-an-xperf-xpert-the-slow-boot-case-of-the-nettcpportsharing-and-nla-services.aspx
++
Sam
@Samuel LEGRAND
Thx, je rajoute les deux url dans le billet 😉
Bonjour,
Je viens de tomber sur votre post 🙂
Quelle le timing correct d’une ouverture de session citrix (avec profil itinérant et redirection dossier)
merci d’avance pour vos retour
guigui69
Bonjour guigui69,
Au dessus de 18/20 secondes on estime que le temps d’ouverture de session est problématique, après beaucoup de paramètre sont à prendre en compte comme : taille du profil, login script, nombre de GPOs linkées sur l’environnement Citrix (type de GPOs, filtrage etc..) des utilisateurs, mappage de lecteurs (locaux et réseaux), mappage d’imprimantes, temps d’accès au share hébergeant les profils itinérants, le type d’OS du serveur (ou workstation) et leurs états (prendre aussi en compte le nombre de logon/logoff sur les serveurs), le type d’application publiées etc.. etc..
Pour le troubleshooting d’ouverture de session on utilise Xperf (voir notre billet : http://www.ctxblog.fr/2014/04/12/lenteur-douverture-de-session/).
Lors de notre dernière mission sur un environnement XD 7.6 US on arrivait à 10 secondes en moyenne d’ouverture de session.
Bonjour,
je revient sur le sujet.
je viens de tester je suis à 1 min de demarrage pour un bureau citrx. je vais tester ta procédure, a moins qu’il y a une autre méthode pour tester l’ouverture de session citrix
Bonjour guigi69,
Xperf est toujours d’actualité 🙂 , sinon tu peux utiliser VMware Logon Monitor (c’est simple, gratuit et super efficace) :
https://labs.vmware.com/flings/vmware-logon-monitor .
Au passage je ferais un billet sur VMware Logon Monitor prochainement.