In the world of Citrix Xenapp consulting, there is one call that you seem to get over and over again. The client calls you and says that the farm you built for them last year is now taking 60+ seconds to launch a single application. Everything was working fine for an extended period of time, but then something went wrong. What could cause such an issue?
Winlogon Troubleshooting Steps
Before investing too much time in troubleshooting Citrix, be sure to log onto the Xenapp server via RDP to make sure that logons remain slow there as well.
If you want to know everything that is happening during the logon process, there are verbose logs that can be enabled. In Server 2003, you can enable the USERENV logging by following the KB article: http://support.microsoft.com/kb/221833
If you are using Server 2008, then you can enable something similar following this process:
Let’s examine some of the usual suspects:
In order to prove whether or not there are networking problems in an environment, you’ll need to use some networking tools. Some admins like tools like Wireshark for tracing network communication so you can pick up dropped packets, etc. Recently, I found a great tool for Citrix called SMCC, which can be installed on a trouble Xenapp server. The tool will give you instant feedback on whether there are network problems impacting the server. Read more about it here:
Roaming profiles are public enemy number 1 in a Citrix environment. While there have been countless articles written about why roaming profiles are no longer the best practice, we can never seem to get away from them. They are especially popular in hospital environments where user customization is important, and this is the way they’ve always done it. These profiles can often grow very large in size, and before the Citrix administrator knows it – he is dealing with profiles that are 200MB+ in size. For this reason, when you get a slow Citrix logins call, the first place you should look would be at the profile size. Beyond size you should also look at the location of your roaming profiles, because if there is a wan connectivity issue or any networking problems – it could also impact the speed at which the roaming profile is loaded. Be aware that you can rule roaming profiles in or out quickly by creating a local account for testing purposes, with no reference to the roaming profile.
Windows Group Policy
When a virtualized application is launched through Citrix, it kicks off a huge stream of events. Profiles are engaged, printers are mapped, and policies are applied. Some companies have more complex GPO structure than others, so it’s important to keep it simple whenever possible. In environments where a Citrix farm might have been “inherited” from previously staff that is no longer there, you will sometimes deal with clients who have no idea what their GPO’s are doing or how they are set up. When you suspect GPO’s are the cause of slow application launch, you should isolate a single Citrix server into a fresh OU, and block inheritance completely. Test logins again, and if they improve drastically – you know to focus your efforts on simplifying GPO’s in the environment.
Now that you can accomplish just about anything in Server 2008 via GPO, it’s logon scripts are something that should become a thing of the past shortly. You will still see a lot of these in use in many environments today, so it’s important to know what they do and monitor them closely. If a particular set of Citrix users is experiencing slow logons, it may be important to isolate what logon script is causing the issue. You can test the logon script by running it line-by-line from the command prompt of the Xenapp server that you have isolated for testing. If you find a particular line that hangs for an extended period of time, you’ll know to investigate more closely.
Drive mappings can work great for years, and suddenly stop working for many reasons. Maybe a fileserver has a loose cable, or maybe there is a network problem. The result can be a long delay during logon until the bad drive mapping times out. Most of the time you will discover these bad drive mappings in a log on script, or perhaps a GPO. Once again you can test by logging in with a user account that doesn’t have a log on script or GPO applied to it to see if the log in speed increases.
The volume of printers a user has may cause a slow login depending on how your Citrix policies are configured. Best practice is usually to configure your printer mappings to load in the background during the logon process. If you have a policy that says to do the opposite, you could be waiting a long time to see your virtualized application pop up.
There have been several hotfixes included in the various roll up packs for Xenapp and Presentation server over the years to address slow logons. For this reason, it is best practice to always make sure you are on the most recent roll up package available from Citrix. If you ever end up opening a case with Citrix support, you will find that this will be one of the first things they check for.
There are various causes of slow logons in Citrix environments. Be methodical with your troubleshooting methods, and limit your troubleshooting to a single user account on a single server. By experimenting with AD GPO’s and enabling/disabling logon scripts, you should be able to narrow down the root cause of the issue quickly.