Best Practices for Citrix XenDesktop with Provisioning Server

Throttle Commands to Virtual Machine Hosting Infrastructure. When sending a high number of power on/off
commands to the virtual machine hosting infrastructure (VMware Virtual Center, XenCenter, Hyper-V), the hosting
infrastructure could become overwhelmed and unresponsive for a short period of time while all of the requests are queued
and processed. By default, the communication between the pool management service on the DDC and the hosting
infrastructure is throttled to 10% of the total pool. For example, if there are 500 VMs in the desktop group, only 50 VM
power operation requests will be sent at a time. When pools grow even larger, (over 1000 desktops), this could result in
approximately 100+ power on/off requests being sent concurrently to the hosting infrastructure.
The hosting infrastructure may become overloaded during the following scenarios:
• When the idle pool count significantly increases for a concurrent peak time
• There is a small duration between logon and logoff events. For example, a company employs a three shift
working day. A group of users will logon in the morning and logout when their shift is finished. The next shift of
users will begin to logon at the same time that the previous group logs off resulting in a very small window where
large numbers of users log on and logoff (5-15 minutes).
It may be necessary to throttle the number of power requests sent to the virtual machine infrastructure at a single time.
To modify the number of concurrent requests, edit the following configuration on each DDC. This example throttles the
number to 20 concurrent commands.
• Open C:\Program Files\Citrix\VmManagement\CdsPoolMgr.exe.config
• Add the following line in red:
<?xml version=”1.0″ encoding=”utf-8″ ?>
<add key=”LogToCdf” value =”1″/>
<add key=”LogFileName” value =”C:\cdslogs\VMManager.log”/>
<add key=”LogDebug” value=”1″/>
<add key=”MaximumTransitionRate” value=”20″/>
• Save the file and restart the DDC. The DDC or the Pool Management Service must be restarted for the new
value in the .NET configuration file to be read by the DDC.
The value (“MaximumTransitionRate” value=”20″) included in this example should only be considered as a point of
reference when configuring the concurrent command values. This value will vary based on each environment’s unique
hardware platform and use case. Citrix recommends that each organization properly test the configuration before
determining the optimal balance between the number of concurrent commands that can be serviced and the
performance/responsiveness of the hosting infrastructure when sending power commands from the DDC.