Jump to content
Welcome to our new Citrix community!
  • 0

Citrix Hypervisor Performance Tuning




I need to configure Citrix Hypervisor 8.1 on HPe Synergy 480 Gen10 for XenApp Workload (no GPU).


I found HPe whitepaper on BIOS tuning for XenApp workload 



Can I also apply those settings to Citrix Hypervisor ? For instance, the whitepaper disable C-State but I read an excellent post of Tobias that says to enbale C-States. 



Thanks for your advises !




Link to comment

7 answers to this question

Recommended Posts

  • 0

Hi Julien,


First off, I think it is important to know that hitting the advertised maximum turbo speed in heavy workloads is always going to be an issue, especially if you are running them in a virtualised manner. That is because the Hypervisor will try to execute your instructions across all CPUs/cores, and the advertised maximum turbo mode is only achievable when 1 or in some cases maximum 2 CPUs/cores are being used 100%, while the others are not.
As soon as one other CPU/core is being used as well, the advertised maximum turbo speed will not be activated. Instead, it will drop down to what is called "all core turbo", or in some specific types of CPUs - and depending on the usage of the CPUs/cores - it might "turbo" to something in between the "all core turbo" speed and the advertised maximum turbo speed.

With regards to the C-states; different hardware vendors have different best practices on how to set those, as you yourself have noticed from HPE's white-paper, and Tobias's blog, which covers Dell hardware. Supermicro for instance, recommends to enable C-states, but limit them to the C0/C1(E) state only, as all above are sleep (C3) or deep sleep (C6) states and should be avoided.

I would recommend to just follow whatever your hardware vendor states as best practice for maximum performance, and perhaps do some testing by changing one setting at a time.





Link to comment
  • 0

Following the vendor's advice is always a good start. It's just as important, I feel, to experiment with your own setup to see what can possibly be tweaked to make things better.


The number and configuration of VMs also will make a difference. In some cases, a fixed maximum clock rate might even be the best option and of course, NUMA should always be taken into consideration. Deep sleep seems like it would indeed not be a desirable option. I have never run systems with that enabled, as far as I recall. In most cases, I did see significant gains from allowing higher turbo clock rates at least on systems with not a huge number of VMs all vying for CPU cycles.


You may also want to adjust some network parameters if you use iSCSI or NFS storage, as these can also make somewhat of a difference. TCP tuning is what I'm hinting at here, though the newest releases are pretty good already "out of the box".


Bottom line is that one can make all sorts of constructive suggestions, but each setup will be unique and merits some testing to see what works best under the individual circumstances.



Link to comment
  • 0

Hi all,


Few months after my initial post we have some users on the new hypervisor.


The VM are sized with 8 vCPUs and a lot of RAM (96 Gb) because the hypervisor have 2 x 16 cores and 512 Gb of RAM.

With 30 users one VM take about 80%-100% of vCPU and the host (with only one VM) is arround 35%-40%.

We have for goal to put 4 VMs by host.


I wonder if I can run some optimizations to improve the situation (VMs are optimized with the Citrix optimization tool and we use MCS).


Do you think applying https://support.citrix.com/article/CTX200390 instead of using BIOS maximum performance can help (not sure for XenApp workload).


Any idea would be great. 




Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...