As many corporations are still considering Citrix XenApp 6.5, quick tour of the best practices and recommendations about the sizing and configuration of the infrastructure.



x64 (XenApp 6.5 is x64 only)


Virtualization is always my first choice as it is easy to manage and delegate. However, using XenApp 6.5 directly on the hardware often offers the same and even better results. Sometimes, you don’t even have the choice as some companies don’t even want to hear about getting new physical workloads in their datacenters and want everything to be virtualized. If you are going for the VM solution, make sure that all your hosts have the same configuration, especially with PVS.


  • Easy to manage
  • Flexibility
  • vMotion across hosts
  • Crash of one XA server is impacting less users


  • User density is inferior with virtualization
  • Cost (Virtualization is more expensive)
  • more management activities



VMware ESX 5.1
VMware is the leader in the Tier-1 hypervisors and my favorite to deploy XenApp 6.5. However there is nothing blocking you to use Microsoft Hyper-V or Citrix XenServer.


Each group of virtualization hosts should include at least one additional host (N+1) so that a single server failure does not cause resource contention. T
Hyperthreading Activated.
CPU pinning disabled.
Memory Allocation: Fixed (No dynamically allocation of memory).
Host Swapping disabled.
ASLR enabled
Ensure that all critical components are not located on the same host.


2 processors sockets.
No performance improvement with Quad processors.


8 Cores


Do not Overcommit your CPUs.

Size your infrastructure to use 24 vCPU (1.5 x ESX nb CPU).


At least 128GB / host including 2GB for VMware ESX.

Virtual Machine


4vCPU/VM is the standard configuration.
Note: Do not deploy XenApp 6.5 VM with 2vCPU.


At least 20GB / VM including 2GB for Windows.
Note: Use all the memory available on your host


2 disks
System – 40 GB and Data – 40GB

Network Adapter

VMware VMxnet 3. 
Always make sure to install the latest version of the VMware Tools for optimal performances.


Windows OS

Windows 2008 R2 SP1 STD Edition


x64 (XenApp 6.5 is x64 only)

XenApp version

Rollup Pack



  • Light: One or two applications no browser-based activity.
  • Normal: Multiple applications with browser-based activity.
  • Heavy: Published Desktops, few applications but heavy system resource requirements.  Data processing, compiling, or graphics manipulation are common applications.


Dual Socket Host

  • Light users: 36 users per XA VM
  • Normal Users: 24 per XA VM
  • Heavy users: 12 users per XA VM

Quad Socket Host

  • Light users: 30 users per XA VM
  • Normal Users: 20 users per XA VM
  • Heavy users: 10 users per XA VM



Dual Socket Host

  • Light users: 36 users x 2 IOPS = 72 steady state IOPS per XA VM
  • Normal Users: 24 users x 4 IOPS = 96 steady state IOPS per XA VM
  • Heavy users: 12 users x 8 IOPS = 96 steady state IOPS per XA VM

Quad Socket Host

  • Light users: 30 users x 2 IOPS = 60 steady state IOPS per XA VM
  • Normal Users: 20 users x 4 IOPS = 80 steady state IOPS per XA VM
  • Heavy users: 10 users x 8 IOPS = 80 steady state IOPS per XA VM

Make sure to select a storage solution delivering the IOPS required for your project.


XML Broker - Secure Ticket Authority (STA) & Data Collector (ZDC)

At least 2 servers for redundancy. One Primary and Most preferred and the other as a backup. It makes sense to have the primary ZDC and the XML Broker on the same server as much of the dynamic data needed to perform application enumeration is only held on the ZDC, so splitting these roles will only cause a network request between XML and ZDC, and a very small amount of added latency in the login process.Whether you dedicate these is very much down to how heavily your environments are used. I would split only out the XML Brokers in an extremely large farm.
They should not run published applications.
Dedicate a Most Preferred Zone Data Collector in each zone.
Change the default XML port (ex: 8080).
Load balance XML brokers with Netscaler add the VIP in the WI/StoreFront configuration.
CPU and Memory usage are not significant.

Web Interface / StoreFront

Usually, I recommend to have at least 2 Web Interface servers for redundancy. In some scenario, our friends in the Security team could request to isolate the servers for remote access. In that case put 2 more Web Interface servers (4 in total) in the DMZ proxified by the Netscaler Gateway.
Load balance the web interface servers by means of an intelligent load balancing appliance (i.e. Citrix NetScaler).
Encrypt HTTP traffic and enable Socket Pooling.
A dual 2.2 GHz CPU server running Web Interface 5.4 can handle more than ~30,000 sessions per hour.
To prevent failed logons and to optimize logon times, ensure that the STAs specified within Access Gateway match the STAs specified within Web Interface, including the order specified


XenApp 6.5 farm must have an associated datastore to query for the farm and applications configuration. My recommendation is to use a shared Microsoft SQL or Oracle server which are suitable for any size environment and are recommended for all large and enterprise environments. SQL Server Express is OK for small deployments. During normal farm operation, the data store is accessed every 30 minutes by each server to ensure their local host cache is current. The data store is also accessed if the farm configuration is modified or static information is requested by tools such as the Citrix AppCenter Console or other Citrix query-based utilities. The data store is not accessed when a user logs in, disconnects, or reconnects to the farm. All the information needed for a client to establish a connection to a XenApp server is stored in the Local Host Cache (LHC).
Supported Databases:
Configure a specific DNS alias for your database server would help during SQL migrations.

License Server

1 server is required.
There is no need for a second server because of the 30 days grace period if the license server is down. Just backup this server in a way to make sure that you are able to restore it quickly.

Desktop Director / Edgesight

1 dedicated server is required.
Note: Always put non-critical services on non-critical servers.

Microsoft RDS License server

2 servers are required with 50% of the licenses on each server.



Single farm/Multiple farms

1 farm is the best practice. However, you may need to have more than 1 farm depending of the following criteria:

  • Location and needs of the users or your organization – If your organization is a service provider, you might want to dedicate a farm to each organization for which you provide service. Multiple farms might make it easier to demonstrate compliance with specific service level agreements.
  • Geographic layout of your organization – If your IT infrastructure is organized by region and managed in a decentralized manner, multiple farms could improve farm performance. Multiple farms could also save time when coordinating farm administration and simplify troubleshooting farm-wide issues.
  • Network infrastructure limitations – In WANs with high latency or error rates, multiple farms may perform better than a single farm with multiple zones.
  • Organizational security policies concerning server communications – Consider multiple farms if your organization needs to segregate data based on security level. Likewise, you might need multiple farms for regulatory compliance.
  • Application deployment methods – If you plan to use Microsoft System Center Configuration Manager 2007 R2 to deploy applications, XenApp Connector for System Center Configuration Manager 2007 R2 components must be installed on servers within the same farm.

Keep in mind that you need as many datastore databases as farms.


Try to have only 1 zone or the fewest number possible if all your servers are in the same location or close.However, in large networks, such as organizations with data centers on different continents, grouping geographically-related servers in zones can improve farm performance.


This setting should be enabled in order to track administrative changes made to the XenApp environment.

Session Reliability

This setting should be enabled.


Applications Delivery

Virtualize your applications with Microsoft App-V as much as possible to avoid installing applications locally.


Auto-create only the user’s default printer.
Disable automatic installation of print drivers.
Use Citrix Universal Printer drivers as much as possible.


Configure Mandatory profiles or Citrix UPM instead of Microsoft roaming profiles.

Logon scripts

Try to avoid as much as possible the use of logon scripts.


Consider using Citrix Provisioning Services if you have more than 20 servers with the same purpose.


Weeky or at least by-weekly reboot of all XenApp servers is highly recommended.



  1. Hi,
    Could you provide me with rollup hotfix pack 5, it’s nolonger available on the Citrix site yet I need it for our environment?
    Many Thanks in advance.

  2. Hi,
    I have a question for you.
    If I nedd to publish notepad and calc, for 5 users, really I need to have a a VM with 20 GB of RAM?


  3. Hello, thanks for your article. What’s the “source” about it ? Your own experience ?
    For a serveur with 4VCPUs and 20 Go RAM… How many user can connect to your Xenapp Server ?

Comments are closed.