Optimize Logon Times – Part 1: Citrix Director

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 post will show you how to cut Average Logon Duration in Director IN HALF!

Optimize Logon Times

Optimize Logon Times – Lab Setup

Optimize Logon Times

All tests has been performed on my SuperServer vSphere 6.x Cluster using LoginVSI with 50 users connecting during a 25 minutes period. More details below:

  • 2 VM’s Windows 2012 R2 with Citrix XenApp 7.9 – 4 vCPU and 32GB Memory
  • Citrix Provisioning Services 7.9 – Cache in Device Ram with Overflow to Disk 2GB
  • Local Storage on Samsung 950 Pro M.2 PCIe SSD
  • All servers are restarted after each test & stays idle 15 minutes before next test
  • Login VSI Scenario – TaskWorker without Microsoft Office

Optimize Logon Times – Logon Results

The first test is without any special tuning. There’re of course some basic Group Policies for Citrix Profile Management, Loopback Replace Mode, RDSH Licensing etc. If my GPO’s are of interest you can download the GPO Starter Pack.

Make sure that you’ve added all files & directory exclusions from UPMPolicyDefaults.ini into Group Policy (and remember to check with every new UPM release). Check this blog post from fellow CTP Carl Stalhood to learn more.

CPMSettings

uberagentwithouttuningnewprofile

directorwithouttuningnewprofile

So as you can see the results is rather strange and the main reason I’ve abandoned Citrix Director for some time now. uberAgent shows a average login time of 6.17 seconds with 50 brand new profiles while Citrix Director shows 20 seconds.

I still know how to count and the login doesn’t take 20 seconds! So after some research I stumbled upon this great blog post Long Logon Times and Potential Fixes.

Ever since Windows Vista, Microsoft has added a startup delay for apps. This remains true in Windows 8 and even in Windows 2012 R2 and the new Windows 10.

So let’s add that magic registry key to the mix and see what happens.

uberagentwithsignalizetuning

directorwithsignalizetuningnewprofile

That registry hack didn’t make any changes to uberAgent. But WOW look what it did to Citrix Director Average Logon Duration & Interactive Session! Those stats dropped by 50%. Here’s before and after.

DirectorStatsBeforeAfterSignalize

After sharing my results about the HUGE difference between uberAgent and Citrix Director I’ve received this tweet out of the blue from a Citrix Employee.

citrix-director

Citrix Director starts the clock when you click the Published Desktop / Application in StoreFront (Receiver wheel starts spinning) while uberAgent / ControlUp starts the clock when the User is Authenticated.

Jason

So with this information and the registry tuning above, Citrix Director has regained my trust. The problem is actually not Citrix’s fault, but they should education the end users better. There’s TONS of articles and confused Admins in the Citrix Forum on Interactive Session Slow Logons.

28 Responses to Optimize Logon Times – Part 1: Citrix Director

  1. This is fantastic Eric!

    Wondered since XenDesktop 7.0 why the %/&&/(&/%&(% director shows way to high logon time..

    Controlup shows 9 seconds in my environment, and director shows 21 seconds…

    Keep those great posts coming 🙂

    -Sondre

  2. Thanks for sharing this great article!
    I struggled with decreasing the interactive session time. This is perfect and definitely will look into it.

  3. Hi Eric,
    great info.
    But just to make me understand a little bit, the registry key doesn’t really improve the logon time of users, instead it fix the correct timing of Average Logon Duration in Citrix Director ?

  4. Great article! I will be very interested in seeing the effect of the regkey in other environments.

    Looking forward to the next part(s)!

  5. Great tip.
    Had seen similar discrepancies with Director and LoginVSI when testing a XA 7.6/Svr2012R2 farm and just but it down to an anomaly in the way Director captured the logon duration, so it’s useful to know precisely why it does this.

    Would be great if you could post up your GPOs too Eric, thanks

  6. Thank you for this! It was a great article and very helpful in troubleshooting my average logon times. I use RES software as the UPM component and their support offered me a tool to troubleshoot login times. This did not often match up to what I saw in Director.

  7. “Those stats dropped by 100%”

    If they drop with 100%, the login will happen in 0sec.
    I guess you wanted to say “Those stats dropped by 50%” 🙂

    And thanks for the post. Really good.

  8. Hi Trond Eirik.

    I guess you would have to apply this current user reg-key to a user policy so each user gets the registry once they logon, correct?

    Regards
    David

  9. Our Director logon reading went from 26 seconds and down to 14 seconds, only by implementing that reg-key… 🙂

  10. It’s just wonderful the work you do with your blog.

    Keep it up!

    Stay safe, stay sane, stay virtualized! 🙂

    \\atle

  11. Hi Trond,
    great article. Got an average logon of 20 seconds now.
    However some users peak in Director with 75s. When I sum up the individual director values I also come around 20s. Controlup Logon PS Script shows also 20s. Do you have an idea why Director is reporting 75s logon time?

    • Awesome, based upon comments, tweets etc. that should have been resolved with the Serialize key. So your say that for one session it still shows 75 seconds but ControlUp shows 20? I might try it again now in 7.12

Leave a reply