Planning the XenApp Data Store


Planning the XenApp Data Store

Updated: 2015-04-02

When you deploy your server farm, it must have an associated data store. When servers in a farm come online, they query the data store for configuration information. The data store provides a repository of persistent information, including:

  • Farm configuration information
  • Published application configurations
  • Server configurations
  • Citrix administrator accounts
  • Printer configurations

The System Requirements lists the databases you can use for the farm data store. For information about supported database versions, see

Choosing a Database

Consider these factors before deciding which database product to use:

  • The number of servers you currently plan to have in the farm, and whether or not you plan to expand that number
  • Whether or not you have a database administrator with the expertise to configure and manage a data store running on SQL Server or Oracle
  • Whether or not you foresee the enterprise expanding, which would result in expanding the size and maintenance of the database
  • Any database maintenance requirements, such as backup, redundancy, and replication

General recommendations are listed below, based on the following size table.

Small Medium Large Enterprise
Servers 1-50 25-100 50-100 100 or more
Named Users < 150 < 3000 < 5000 > 3000
Applications < 100 < 100 < 500 < 2000
  • Microsoft SQL Server and Oracle are suitable for any size environment and are recommended for all large and enterprise environments. When deploying large farms across a WAN, you can obtain a performance advantage by replicating the data store and distributing the load over multiple database servers. SQL Server and Oracle are suitable for large farms and support replication.

    Do not install XenApp on the SQL Server or Oracle database server.

  • SQL Server Express is suitable for all small and many medium environments located in one physical location, which do not have branch offices across a WAN.

See the database product documentation for hardware requirements for the database server.

Important: Ensure that the data store is backed up regularly. If the data store database is lost, you must recreate the farm. You cannot recreate the data store from an existing farm.

Database Server Hardware Performance Considerations

Increasing the CPU power and speed of the database server can improve the response time of queries made to the data store when:

  • Starting the Citrix IMA Service on multiple servers simultaneously
  • Adding a server to the farm
  • Removing a server from the farm

The response time of other events (such as starting the IMA Service on a single server, recreating the local host cache, or replicating printer drivers to all servers in the farm) is affected more by the farm size than by the data store response time.

Adding processors to the server hosting the data store can improve response time when executing multiple simultaneous queries. In environments with large numbers of servers coming online simultaneously and at frequent intervals, additional processors can service requests faster.

The capabilities of the processor on the database server affect management console performance, how long it takes to add (configure) and remove a server from the farm, and how long it takes to start multiple servers simultaneously.

In the following chart, five sample farm configurations (A through E) are listed, with measurements of various metrics in the farm.

Configuration A B C D E
Number of servers in farm 50 100 250 500 1000
Number of applications published to all servers 50 50 50 50 50
Number of user policies 25 25 25 25 25
Printers per server 5 5 5 5 5
Printer drivers installed per server 25 25 25 25 25
Network print servers with printers 5 5 5 5 5
Number of Load Manager load evaluators 10 10 10 10 10
Number of application folders in management console 10 10 10 10 10
Number of server folders in management console 8 16 25 50 50
Number of Application Isolation Environments 10 10 10 10 10
Number of Citrix administrators 10 10 10 10 10
Size of data store database in megabytes 32 51 76 125 211

The following table lists suggested hardware for the server hosting the data store, for each configuration in the previous table.

Configuration A B C D E
Dual Pentium 4/1.6GHz with 2GB RAM X X X
Dual Pentium 4/3.0GHz with 4GB RAM X X X X
Quad Pentium 4/3.0GHz with 4GB RAM X X X X X

The actual performance of a farm’s data store varies depending on the database engine and the level of performance tuning achieved.

Replication Considerations

When you join a new server to a XenApp farm, a significant amount of time can be spent waiting for the server’s Citrix Independent Management Architecture (IMA) service to start and come online. As a result, you might choose to configure SQL data store replication at each remote site, to allow member servers to point to their local SQL subscriber and avoid the slowness of traversing the WAN. However, as your farm expands geographically, the overhead of administering SQL subscribers at each of your sites becomes a burden.

In XenApp 6.5, you can configure servers in session-host mode (also known as session-only mode). This server mode allows XenApp servers to join a farm in significantly less time with substantial bandwidth savings.

When a XenApp server joins a farm, it performs numerous read and write operations to the IMA data store as well as a download of the farm data to its Local Host Cache (LHC). In previous releases of XenApp, all member servers of the farm were required to download all farm data to their LHC during a join, resulting in a large amount of data store transactions and bandwidth consumption. In XenApp 6.5, you can dedicate a select few servers as XenApp controllers which are responsible for farm management tasks, while the remaining member servers are session-only servers whose sole task is to host user sessions. XenApp controllers must synchronize all of the farm data, while session-only servers must synchronize only a subset of the information to their LHC. These changes result in fewer database transactions, less bandwidth consumption, and faster IMA startup performance.

While session-only XenApp servers can host XenApp user sessions, they cannot perform the role of data collectors, nor can they participate in or trigger a data collector zone election. The XML service does not run on session-only XenApp servers; therefore, the Web Interface cannot use them to perform application enumerations. Additionally, management tasks such as AppCenter discovery or PowerShell tasks cannot be run directly on a session-only server. However, with proper planning and placement of XenApp controller servers, leveraging the session-only model can optimize your farm performance and reduce IMA bandwidth and server provisioning time.

You specify the XenApp server mode through the Server Role Manager when you configure the XenApp role to join a farm. For more information, see the XenApp Server Mode section in Before Configuring XenApp.

If you used data store replication in previous XenApp deployments, note that in XenApp 6.5:

  • Replication is no longer required because IMA architectural changes have significantly improved WAN performance.
  • Future versions of Microsoft SQL Server may not support the replication model that XenApp supports (transactional replication with immediate updating subscribers).

Therefore, although you can replicate a XenApp 6.5 data store on SQL Server 2008 R2 and earlier versions, you do not need to, and you may not be able to with later SQL Server versions.

Planning for Configuration Logging and IMA Encryption

The IMA encryption feature provides a robust AES encryption algorithm to protect sensitive data in the IMA data store. Enabling IMA encryption provides an additional layer of security for the data preserved by the Configuration Logging feature.

If you do not enable IMA encryption, XenApp uses the standard encryption used in previous versions of XenApp. The Securing Server Farms documentation contains more information about IMA encryption, Configuration Logging, and when to enable these features.

To enable IMA encryption, you specify a key which is used for all the servers in your farm. To generate the key, use CTXKEYTOOL, which is available on the installation media.

For custom installations or provisioning servers in large environments, consider:

  • Deploying XenApp by using images, and including the key file as part of the server image
  • Generating a key, putting the key in a folder on your network, using a UNC path to specify the location, and performing an unattended installation

If you have multiple farms in your environment, Citrix recommends you generate separate keys for each farm.

Citrix best practices reference list for XenApp/XenDesktop design


design part best practice guide
active directory Edoc-Recommendations for Active Directory Environments
application virtualization virtual application management with microsoft application virtualization 4.5/4.6 and system center configuration manager 2007R2 2012
search for app-v and configmgr whitepaper
bandwidth ctx124457 performance assessment and bandwidth analysis for delivering xendesktop to branch offices
datastore edoc datastore reference
datastore CTX112524-Citrix Presentation Server and Microsoft SQL 2005 Configuration
datastore CTX118849-Installing SQL 2008 on Windows Server 2008. Datastore
Replication with XenApp 5.0 using SQL 2008 with Windows Authentication
datastore Edoc-planning a citrix high available citrix datastore
datastore ctx127939-XenDesktop 5 Database Sizing and Mirroring Best Practices
farm&zone CTX129106-Scaling Big – DaaS and SaaS Deployments for Citrix Service Providers
Scaling to 1,000 servers in a single farm
farm&zone edoc-planning zones in a wan
HA & scalability & sizing Citrix-blogpost-estimating xenapp 6.5 hosted shared desktop scalability
HA & scalability & sizing CTX 131102 Citrix XenApp 6 5 – Enterprise Scalable XenApp Deployments
HA & scalability & sizing CTX123684-Delivering 5000 Desktops with XenDesktop 4
HA & scalability & sizing CTX134979 -High Availability for XD and XA – Planning Guide
HA & scalability & sizing fujitsu-terminal_server_sizing_guide_en
license Remote Desktop License Server Discovery
license edoc- setting up a citrix license server on a microsoft cluster
netscaler edoc-netscaler high availability 
network Citrix-Blogpost-Quality of services
optimization CTX131577-XA – Windows 2008 R2 Optimization Guide.pdf
optimization CTX125060 Best_Practices_for_Optimizing_HDX_Technologies_for_XenDesktop_4
overall CTX124481 Advanced Farm Administration with XenApp Worker Groups
overall CTX119686-Top_10_Items_Found_by_Citrix_Consulting_on_Assessments_v2
overall CTX132799-XenDesktop and XenApp – Best Practices
overall edocs designing a xenapp 6 farm
patchmanagement CTX120842-Best Practices for Citrix XenApp Hotfix Rollup Pack &Installation and Deployment
ports CTX101810-CitrixPorts_by_Product_and_Port_2060
printing Edoc-Overview of Client and Network Printing Pathways
printing edoc-improve printing performance
printing CTX18234-printing architecture solution
printing CTX131337-TechEdge Barcelona 2011 – Integrating your branch office successfully with optimized printing solutions
profiles CTX110351 User Profile Best Practices for MetaFrame Presentation Server
profiles Profile Management Frequently Asked Questions
profiles CTX119036-User-Profile-Manager-Best-Practices-Guide-Final
pvs CTX120464-PVS_for_XenApp_Best_Practices
pvs CTX134945-Provisioning Services Networking Planning Guide
pvs CTX124791-Citrix Provisioning Services 5.6 SP1 Installation and Configuration Guide
pvs CTX124792-Citrix Provisioning Services 5.6 SP1 Administrator’s Guide
pvs CTX127438-Provisioning Services Components Interaction
pvs CTX127549-Provisioning Services 5.6 Best Practices
pvs CTX120803-Citrix Provisioning Services Security Backgrounder
running xenapp virtual CTX129761 XenApp Planning Guide – Virtualization Best Practices
running xenapp virtual vmware-citrix-xenapp-best-practices-EN
storage CTX130632-XD – Planning Guide – Storage Best Practices
thin clients citrix blogpost-selecting thin clients for xendesktop 4
thin clients citrix blogpost-HDX Ready thin client test kit
thin clients hdx citrix blogpost-hdx and thin clients
in the hld 1883 only the mandatory requirement that the thin client must be hdx ready is mentioned. about the management of the thin clients and reuse of existing tooling like sccm

training Citrix recommends the following levels of training as best practice:
· Level 1 (Help Desk): Citrix Certified Administrator (CCA) on XenApp and XenDesktop
· Level 2 (Production Support Engineer): Citrix Certified Advanced Administrator (CCAA)
· Level 3 (Build Engineer): Citrix Certified Enterprise Engineer (CCEE)
· Level 4 (Architect): Citrix Certified Integration Architect (CCIA) and more
XenDesktop and XenApp – Best Practices guide
uac edoc-user account control
xendesktop citrix blogpost-xendesktop design handbook
xendesktop CTX127842-how to configure the logoff behavior of a desktop group in xendesktop 5
administration Best Practices for XenApp Administrators 
virusscan Citrix Guidelines for Antivirus Software Configuration 
printing xendesktop and xenapp printing planning guide