Give Precedence to Session Sharing Over Load Balancing

Share Button

Citrix XenApp 5.0 Windows 2003 Hotfix Rollup 4 has new feature enhancement that allows you to give precedence to session sharing over load balancing. Now with this enhancement you can decide to have session sharing override load balancing in your XenApp farm.

In the past when you launched additional applications that are published on the same server, XenApp would try to launch those in the same session if load balancing allowed it. If it didn’t, you would get a new session on another server with a lighter load. The same would happen for a disconnected session. XenApp would try to reconnect you to that disconnected session. If the server load was to high, it would start a new session on another server with lighter load.  This enhancement can be enabled on XenApp 5.0 Windows 2003 with Hotfix Rollup 4.  This can be done by creating the following registry key on your XenApp servers:

32-bit XenApp 5.0 Windows 2003

Path: HKLMSoftwareCitrixIMA

Value Name: OverrideLoadCheck

Type: REG_DWORD

Value: 1 (on) or 0 (off)

64-bit XenApp 5.0 Windows 2003

Path: HKLMSoftwareWow6432NodeCitrixIMA

Value Name: OverrideLoadCheck

Type: REG_DWORD

Value: 1 (on) or 0 (off)

Recreate the local host cache on the XenApp servers the registry change was made on and restart the Citrix IMA service. 

Now with this enhancement enabled:

  • Applications launched by users that have an active session join that session rather than going to the least loaded server
  • Applications launched by users that have a disconnected session are directed to the server with the disconnected session rather than going to the least loaded server.

For more information see Citrix Knowledgebase Article CTX126839 – How to Set Up Session Sharing Precedence Over Load Balancing in a XenApp Farm

Enabling this enhancement can be good and bad.  The good side is that additional applications will launch faster and session share with an existing session.  The bad side is that enabling this enhancement could effect server performance.  If the server the session is already running on is overloaded, then this enhancement could cause the server additional performance degradation.  So the question is what’s more important…faster application launches or better session performance?  I leave that up to you.

If you have found this article interesting or if you have any other insights, please feel free to leave comments on this article.

Share Button
  1. Daniel BinderDaniel Binder08-16-2011

    I understand your point about how this enhancement would work with a disconnected session on a server that is not the least loaded – but what if you were using a load balancer profile that balanced solely on, for example, time of day where no logons are allowed?

    Let me explain further……..we have a load balancer policy that uses only the Scheduling variable and we have no acceptable times/days defined for it. We assign this policy to a server that we will be taking out of the rotation to do maintenance on so no new user sessions will be established on it but unlike disabling logins to the server, we can still RDP to the server to do work.

    If we had THAT policy in place where normally NO new user session would be allowed to connect, but it had a disconnected session on it and we had the enhancement you describe above in effect, would the user with a disconnected session on that server be directed to the server, even though the load balancer policy would normally NOT allow them to be directed to that server?

    • Jarian GibsonJarian Gibson08-19-2011

      That is a good question. The default action is to session share if load balancing allows. Enabling this would ignore load balancing and try to session share/reconnect to the disconnected session and not look at load balancing. So in your scenario enabling this feature they would be directed to connect back to the disconnected session and ignore load balancing. Now if you want it to honor load balancing then disable the feature and test.

Leave a Reply