Whitepaper: Best Practices for Virtualizing Citrix XenApp

One of the goals when creating a design for Hosted Shared Desktops with Citrix XenApp is to try and maximize scalability while still providing an adequate user experience. Hosted Shared Desktops provide an advantage over other desktop virtualization techniques by only requiring the use of a single operating system, which significantly reduces user resource requirements and helps improve scalability numbers. However, in order to get the most users, making correct design decisions as to the resource allocation is important. Creating too many virtual machines or too few might negatively impact scalability.

Citrix has released a whitepaper containing guidelines for virualizing XenApp workloads. Regardless of the VM allocation decisions made, the following are general recommendations that are almost always advisable when virtualizing XenApp servers

Decision

Justification

Hypervisor

Overcommit CPU:

No

It is advisable not to allocate more vCPU than there are physical cores within the given hardware. Experience has shown that greater levels of scalability are achieved by not overcommitting CPU.

Hyper-V

XenServer

vSphere

Utilize Hyper-threading:

Yes

Newer processors have the ability to do hyper-threading, where each core is two logical cores. Utilizing hyper-threading in a XenApp environment has been shown to improve user density.

Hyper-V

XenServer

vSphere

Disable ASLR: No

As many organizations try to protect their XenApp servers from viruses, malware and other OS exploits, it is advisable to keep Address Space Layout Randomization enabled, which is the default setting. The functionality is included with Windows 2008, Windows 2008 R2, Windows Vista and Windows 7.

Hyper-V

XenServer

vSphere

Enable Transparent Page Sharing:

Depends on OS

Enabling or disabling Transparent Page Sharing has not been shown to either help or hurt performance on newer systems (Windows 2008, Windows 2008 R2, Windows Vista and Windows 7). However, older systems (Windows 2003 and Windows XP) have benefited, mostly because the page sizes are smaller (4K), thus making it easier to share pages of memory.

vSphere

Optimize for XenApp:

N/A

On systems utilizing pre-Nehalem processors, the XenServer setting “Optimize for XenApp” provided increased scalability. Since the release of the Nehalem processors, much of the functionality has been placed on the hardware so this particular XenServer setting can be ignored.

XenServer

Disk Alignment: Yes

As a host server will be running multiple instances of a server operating system, it is even more important to optimize the disk subsystem to improve performance and scalability as opposed to a system running a single operating system. Windows 2003 is misaligned with default installations. This should be corrected installation to help reduce storage impact.

XenServer

Hyper-V

vSphere

Memory Allocation:

Fixed

As users are dynamically load balanced across XenApp servers, memory usage between different virtual machines should be similar, helping negate the need for dynamic memory allocation techniques. Also, if VM migration strategies are used, this could cause memory overcommit resulting in aggressive paging and poor performance across all XenApp virtual machines. It is advisable to set fixed values for memory reservations for XenApp virtual machines.

XenServer

Hyper-V

vSphere

Host Swapping: No

In most environments, all XenApp servers are actively hosting users at the same time. Swapping out memory from one XenApp host will degrade performance for all virtual machines as the memory keeps getting transferred to/from disk.

vSphere

Continue at source…

Technorati : , ,
Del.icio.us : , ,

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top