Are you running XenApp on XenServer, VDA’s on XenServer or why not a couple of physical Citrix Provisioning services or any other application or hypervisor? If this happens to be a “Green IT” optimised server, I wouldn’t be surprised, I would actually state that this is very common. But did you also know that you might not get the expected performance?

For example, HP servers are configured by default to provide the best balance between performance and power consumption, but these default settings may not provide the lowest application latency neither might the default setting/s actually be fully compatible with XenServer 5.x, or the CPU’s you are using (actually this is the case even without XenServer).

During my last couple of engagements (2010-2011), I have found that a lot of servers are tuned for “Green IT”, and for example HP servers this means running with the CPU Core Speed 1,6GHz (if you are an HP Server expert you know this is a power regulator setting) instead of the intended 2,3 – 3,2 GHz, for example the BL460c G6 is a very common model that is used by many Citrix customers where this has actually been seen numerous of times.

It has been found that these servers have one part of the BIOS set to something called Dynamic Power Savings Mode, which clocks down the CPU Core Speed from whatever value to 1,6GHz, it is of course intended to clock up when needed, but that doesn’t seem to happen at all (for XS workloads or for some CPU models – check reference compatibility matrix below). The most effective way to solve this is to change the BIOS setting to something called Maximum Performance \High Performance Mode or similar (would vary from vendor to vendor). By doing this, you are of course consuming more power, but on the other hand, if you buy a server with certain capacity I would assume that this is the net effect you need.

Consider if you for example bought 100 servers, running on 1,6GHz instead of 3,2 GHz?  It is kind of easy to assume you need to “scale out” because the CPU capacity is not there, when you actually need to “scale up” by just changing a BIOS Setting.

The below picture shows a specific customers CPU model, with the explained behaviour (in this case a 2,3 GHz Processor, running on 1,6GHz). If you run DXDiag, Windows Device Manager or any other (AFAIK) Windows standard OS included application it will not reveal if the CPU is running on its actual core speed or 1,6GHz. CPU-Z is a very good tool you could use to verify the actual performance. In this particular case it was a Workload running on XenServer 5.6 SP1.

CPU Core Speed
By changing the BIOS setting and running the tool again, we could see that the CPU Core Speed increased to the expected maximum value, i.e. 2,3 GHz.

Even if the Workload and your current hypervisor and/or CPU supports the Dynamic Power Savings Mode, you could still benefit from these changes, read the document from HP called Configuring the HP ProLiant Server BIOS for Low- Latency Applications.

Side note: There are apperently other vendors with similar BIOS settings and with the same effect, as this is a “Green IT ” thing – thanks for the feedback. Furthermore I can confirm that customers/partners that has done the changes in BIOS have seen an increase in user density and much better application response times.

References:
Hosts Become Unresponsive with XenServer 5.6 on Nehalem and Westmere CPUs – C6 erratas
http://support.citrix.com/article/CTX127395
Configuring the HP ProLiant Server BIOS for Low Latency Applications
http://h20000.www2.hp.com/bc/docs/support/SupportManual/c01804533/c01804533.pdf?jumpid=reg_R1002_USEN
HP Power Regulator – Supported Servers
http://h18013.www1.hp.com/products/servers/management/ilo/arch_servers.html
CPU-Z
http://www.cpuid.com/softwares/cpu-z.html