Logon Performance #1 – XenDesktop Hotfix

Cet article me permet d’introduire un nouvel ami de Phenisys : uberAgent ! Cet outil fonctionne exclusivement sur Splunk Enterprise et utilise un système d’agents à placer sur les serveurs à observer. La grande majorité de ses métriques sont tirés des API Microsoft/Citrix/VMware et uberAgent se positionne donc comme un outil d’analyse de performances système.

ScreenLaunchApp

Le contexte

Phenisys ayant récemment monté un lab’ XenDesktop 7.6 à des fins de R&D, nous avons été très surpris de constater un grand écart entre le temps de connexion via XenDesktop, qui dépassait allègrement les 12 secondes via ICA (HDX) et celui via RDP qui plafonnait à 2,5 secondes seulement. Et en regardant bien le moniteur à l’ouverture de la session XenDesktop, on constate également un écran noir durant quelques secondes.

Certes notre lab’ ne respecte pas forcement les bonnes pratiques Citrix mais de là à multiplier par 5 le temps de connexion …

Screen1

C’est en parcourant le blog de uberAgent que je suis tombé sur un article du fondateur détaillant exactement les symptômes rencontrés.

Analyse en profondeur

Penchons-nous en détail sur les différents éléments permettant à UberAgent de statuer un « Logon Duration » de 12,11 secondes, en commençant par l’état du serveur en terme de CPU/RAM/Réseau à ce moment-là :

ScreenCPURAM

On ne remarque rien d’anormal sur les métriques serveurs si ce n’est un léger pic CPU de 5% à l’ouverture de la session, pas de quoi s’alarmer.

Analysons maintenant le premier maillon des actions menées durant un logon, la découverte de l’Active Directory :

Screen2

330 ms, notre AD01, serveur d’authentification de notre utilisateur Administrateur, se porte bien. Ce n’est donc pas lui qui pose problème.

Regardons maintenant les seconds acteurs d’une ouverture de session, j’ai nommé les Stratégies de Groupes :

Screen3

La durée totale de l’application des stratégies a pris … la bagatelle de 15 ms ! On est encore bien loin des 12 secondes énoncées plus haut.

Continuons à forer en observant le détail des processus système qui se sont exécutés pour notre utilisateur :

Screen4

On observe un fossé de 10 secondes entre la fin de l’application des Stratégies de Groupes et le Userinit.exe, qui a la mission de déclencher l’Explorer.exe, lui-même chargé de nous offrir un environnement graphique.

Résolution

Grâce à l’article de uberAgent cité plus haut, la solution fut rapidement trouvée : un patch à appliquer. (http://support.citrix.com/article/CTX142036)

Le Hotfix corrige, je cite, « When starting a published application, users can experience slow logons. »

Installons-le et observons la magie de l’informatique opérer …

Screen5

… et nous offrir un temps de connexion divisé par plus de deux fois !

Screen6

On constate bien qu’entre l’application des Stratégies et le lancement de Userinit, il ne s’écoule plus 10 secondes mais seulement 2 secondes.

Conclusion

Citrix est définitivement une solution difficile à diagnostiquer. Toutefois, en s’appuyant sur un outil comme UberAgent, le temps d’analyse est nettement accéléré et permet de placer des indicateurs sur des actions et d’en mesurer tous leurs bienfaits, ou à l’inverse pouvoir rapidement faire machine arrière en voyant les métriques s’envoler.


Avez-vous jeté un oeil sur la partie 2 concernant la concurrence d’accès à l’ouverture de session ? Non ? Alors c’est par ici !