Ik ben erg voorstander van de advanced loadbalancer (of load evaluator) van Citrix XenApp, om ervoor te zorgen dat alle gebruikers netjes verdeelt worden over de servers. Over het algemeen stel ik een maximum aantal users in (na een performance test) in combinatie met CPU- en Memoryload en Load Throttling (tegen inlog-stormen)
Bij een klant is de omgeving opgebouwd zoals normaal. Engelse versie van Windows 2008 R2, XenApp 6.5, Nederlands MUI pack, laatste Microsoft fixes en XenApp updates. Default staat bij de opbouw de load balancer op default en rond de periode dat we de performance tests gaan doen en de pilot groep op de servers gaat landen schakelen we de advanced loadbalancer in. Deze keer liep ik echter tegen een probleem op die ik in andere omgeving nog niet heb gezien. Zo gauw CPU- en Memoryload in de load balancer werden geactiveerd gingen alle servers op Full Load (load van 10000) en kwam er niemand meer op, terwijl de servers zelf niets te doen hadden.
De verdenking viel al snel op regionale instellingen, maar nadat alles op engels was gezet (incl. system en default user) hadden we het probleem nog steeds.
Na wat zoekwerk kwam ik uit bij CTX124991. Een wat ouder artikel wat het probleem omschrijft op 64 bit systemen die een MUI geïnstalleerd hebben. De oplossing is om een key toe te voegen:
HKLM\Software\Wow6432Node\Citrix\Ima\LMS
DWORD:EnableTranslation = 1
Deze key kon echter niet zonder slag of stoot worden toegevoegd. De key is beveiligd zodat alleen het Citrix serviceaccount en System er bij kunnen. Om dit op te lossen moet je eerst een Take Ownership doen op de key (CTX133412). Daarbij krijg je foutmeldingen bij het toepassen omdat een subkey geen ownership heeft. Die foutmelding kun je negeren, na het wegklikken ervan kun je via Annuleren (anders blijf je de foutmelding krijgen) alles afsluiten en de eigenschappen van de key weer openen. Vervolgens kun je bovenstaande key wel toevoegen.
Let op: Als je Citrix Provisioning Server (PVS) gebruikt moet je deze key opnemen in het image. De key opnemen in een GPO Extensions geeft deze te laat door aan de services waardoor hij niet wordt doorgevoerd en je alsnog een Full Load krijgt.