This blog post series has been inspired by a presentation at E2EVC on how to Optimize Logon Times to 3 seconds and fellow CTP Claudio Rodrigues who published a photo showing ControlUp Insights Logon Average of 4 seconds.
This 2nd post will show you how to Optimize the Operation System which will reduce the overall login times.
Optimize Logon Times – Part 1: Citrix Director
Optimize Logon Times – Logon Results
In the last blog post we achieve real login times in Citrix Director and got an average login time of 6.10 seconds with 50 brand new profiles. I forgot to mention that the Operating System was already some optimized according to Citrix’s Windows 8 and Server 2012 Optimization Guide.
You might know there’s a lots of stuff added to the Run key that steals unnecessary memory and CPU resources. By removing unneeded software you’ll likely get a higher user density AND a faster login as a bonus.
- CtxStartMenuTaskbarUser – Windows 7 look on WS08R2 & XenApp 6.5
- StatusTray – Provisioning Services
- vDesk VDI – Personal vDisk
- DisableStatus – Slow logon with black screen (Citrix XenApp 7.6 Slow Logon)
The DisableStatus fix is an interesting one, it might or might not apply to your environment. I just added it to see if it had any effect on Citrix XenApp 7.9 which it didn’t. Now if you have read the comments from Helge Klein’s post linked above there’s now a new problem.
We have found one thing slowing down our logons on XA7.6 and Win2012R2 – both with and without FR3. Using Process Monitor we could see Windows Explorer was trying to delete registry entries in HKCU\…\UFH\SHC.
We deleted all entries in this registry key for a user, then when the user next logged in the logon was around 30 seconds faster!
Again this didn’t have any big effect in my environment, but it’s a lab with temporary users. Take a look inside of the registry key and see if you have tons and tons of entries. There should only be x number equal to x number of shortcuts.
I did try to delete these entries at logon, but that broke my Turbo.net application shortcuts. So I found out that a better way was to add the location to the registry exclusion list in Citrix Profile Manager.
Now with brand new profiles the login time dropped from 6.10 to 5.60 seconds. An interesting observation is marked in red below. The first logons to each server is around 10-15 seconds and then it drops below 5 seconds (resources loaded into memory).
Running a new test with existing profiles give a login time of 4.28 seconds. A difference of 1.30 seconds between a new and existing profile.
As you remember from the last post Citrix Director shows a higher login time because of the way it starts the clock. There’s an excellent whitepaper from Goliath Technologies called The Complete Guide to Understanding the Citrix Logon Process for XenApp/XenDesktop which is HIGHLY recommended.
Now these 50 ms (new profile) probably seems like nothing, but you need to remember that I’m running on the worlds fastest consumer SSD storage. So where I gain 50 ms you’ll probably gain 10-15 seconds which makes a great deal. Please share you experience with these tunings in the comments below.
4 thoughts on “Optimize Logon Times – Part 2: OS Optimization”
Nice work Eric.
I like the way you’ve documented the “HKCU\Software\Microsoft\Windows\CurrentVersion\UFH\SHC” key.
With the “Configure Logon Script Delay” policy You can either enable this policy and set the delay to 0 minutes, or disable the policy altogether.
I’ve found that deleting the CtxStartMenuTaskbarUser run key can sometimes cause issues related to the Citrix Enhanced Desktop Experience. I’ve been instructed previously that it’s a bad idea to prevent this from running. But I cannot find my notes.
Eric, is there any chance you could share a screen shot of the break down from Director for the Brokering, HDX Connection, Authentication, GPOs, Logon Scripts, Profile Load, and Interactive session. I know Milage will vary but I’m really curious what numbers you had listed for those sections.
I’ll add a screen shot from Goliath Technologies when I get it running. But you can use ControlUp for this.
any got a copy of the “Windows 8 and Server 2012 Optimization Guide” the above link doesn’t work