Every day, in every way, and with every release, Citrix is getting better and better. And our XenDesktop 7.18 release is no exception. We’ve mastered the art of simplifying logon complexity.

“Why does it take so long for my app & desktop to log on?” is probably the #1 question that users have and the #1 challenge for administrators.

We want you to have your applications & desktops up and running in as little time as possible. On average, users lose somewhere between 30-60 seconds for every application or desktop launch. With a basic breakup of logon duration, administrators are not able to optimize the log-on process. The answer to log-on optimization: Citrix Director!

Before I give you more details, let’s understand what makes up for a complete “Logon duration.” In order to understand exactly what is happening and troubleshoot, we need to break out the sequence to each of the executions that Citrix is processing during the logon duration.

  • Brokering – Time taken to decide which desktop to assign to the user.
  • VM start – If the session required a machine start, this is the time taken to start the VM.
  • HDX connection – Time taken to complete the steps required in setting up the HDX connection from the client to the virtual machine.
  • Authentication – Time taken to complete authentication to the remote session.
  • GPOs – If Group Policy settings are enabled on the virtual machines, this is the time taken to apply group policy objects.
  • Login scripts – If logon scripts are configured for the session, this is the time taken for the logon scripts to be executed.
  • Profile load – If profile settings are configured for the user or the virtual machine, this is the time taken for the profile to load.
  • Interactive Session – This is the time taken to “hand off” keyboard and mouse control to the user after the user profile has been loaded.

Logon duration is measured only for initial connections to a desktop or app using HDX. This data does not include users trying to connect with Remote Desktop Protocol or reconnect from disconnected sessions. Specifically, logon duration is not measured when a user initially connects using a non-HDX protocol and reconnects and using HDX.

Citrix Director – The redeemer of logon optimization

In the User Details view, the duration is displayed as a number value below which the time the logon occurred is displayed and a graph of the phases of the logon process.

Fig 1: Logon Duration panel in the User Details view

As user’s logon to XenApp and XenDesktop, the Monitor Service tracks the phases of the logon process from the time the user connects from Citrix Receiver to the time when the desktop is ready to use.

Breaking down the slowest step in the logon process, ‘Interactive Session’.

The large number on the left is the total logon time and is calculated by combining the time spent establishing the connection and obtaining a desktop from the Delivery Controller with the time spent to authenticate and logon to a virtual desktop. The duration information is presented in seconds (or fractions of seconds) in the local time of the Administrator’s web browser.

Interactive Session has three sub-phases and it is normally the longest duration out of all the phases of the logon process and is calculated as follows:

Interactive Session duration = Desktop Ready Event Timestamp (EventId 1000 on VDA)User Profile Loaded Event Timestamp (EventId 2 on VDA)

Fig 2: Interactive session sub phases.

Pre-userinit – This is the segment of Interactive Session which overlaps with Group Policy Objects and scripts. This sub-phase can be reduced by optimizing the GPOs and scripts.

Userinit – When a user logs on to a Windows machine, Winlogon runs userinit.exe. Userinit.exe runs logon scripts, re-establishes network connections, and then starts Explorer.exe, the Windows user interface. This sub-phase of Interactive Session represents the duration between the start of Userinit.exe to the start of the user interface for the virtual desktop or application.

Shell – In the previous phase, Userinit starts the initialization of Windows user interface. The Shell sub-phase captures the duration between the initialization of the user interface to the time user receives keyboard and mouse control. The total logon time is not an exact sum of these phases. For example, some phases occur in parallel, and in some phases, additional processing occurs that might result in a longer logon duration than the sum.

How this is going to help you troubleshoot user logon issues:

  • To identify unusual or unexpected values in the graph, compare the amount of time taken in each phase of the current session with the average duration for this user for the last seven days, and the average duration for all users in this Delivery Group for the last seven days.
  • From the User Details view, troubleshoot the logon state using the Logon Duration panel. If the user is logging on, the view reflects the process of logging on. If the user is currently logged on, the Logon Duration panel displays the time it took for the user to log on to the current session. Examine the phases of the logon process.
  • Escalate as needed. For example, if the VM startup is slow, the issue could be in the hypervisor, so you can escalate it to the hypervisor administrator. Or, if the brokering time is slow, you can escalate the issue to the Site administrator to check the load balancing on the Delivery Controller.

Notes:

  • The interactive session split is available in XD 7.18 & above.
  • For more information about the configuration and usage of the feature, see the Technical documentation article, Diagnose User Logon Issues.