Thursday, August 6, 2009

High Disk Queue Length on a Provisioning Server Target

By:Rick Rohne
Provisioning Server is a great addition to your application delivery environment, but there are some things to be aware of when determining if your system is a good candidate to become a PVS target host. You can read my blog citrix provisioning server tweaks to see some best practices, but one main thing to look out for is how the system uses it's disk for temp space. A Server with a high disk Queue length may not be a good candidate; however, there are things you can do to work around this.

In Standard mode, PVS uses the vDisk image file which consists of the PVS target’s system drive, OS, and Applications. The vDisk file is generally hosted on the PVS server and usually stored on a fast disk. The PVS Target’s local reads are redirected over the network and read directly from this virtual hard drive. When a write is performed (in standard mode) to the system drive, the write is stored in a temporary write cache file called the vDiskcache (which may reside on the PVS Server, a local disk, RAM, or Shared volume such as a Fiber Channel or iSCSI attached disk. Subsequent reads from the same file will be performed from the write cache instead of the original file that is stored on the vDisk.

Due to the nature of the reads and writes, a provisioning server target may experience disk bottlenecks which may slow the performance/experience of the system or users logged onto the system. This is because there is a small overhead incurred when performing reads and writes that are made to and from the vDiskcache. The PVS agent must keep track of the files that are stored in the vDiskcache and proxy all requests from the system drive to the vDiskcache file. You can track the performance of the reads and writes by monitoring the Physical Disk “Disk Queue Length”. You generally want to keep the Queue length pretty low, (typically under 40 but the lower the better).

Here is a sample of what the Physical Disk Queue Length looked like on a server before redirecting Application data
Now don’t be alarmed!!! You will only find these issues on systems that perform a lot of disk writes to the system drive. Large Application Temp files, Print spooler files, and application log files will notably cause a problem if the disk of a non PVS system is already being affected. While Citrix continues to improve this process, there are many things you can do to reduce the reads and writes to the vDiskcache file.

If you have an application that has these symptoms, try to identify the file/files that are being written. Ask yourself the following questions:

  • Do these files require persistence or can they be flushed?

  • Can you redirect these files to a file share?

  • Can logging be disabled?

  • Are these files user files or system files?

The best way to deal with these issues is to redirect the files directly to the write cache physical volume. If these files require persistence (Such as user data) you can perform redirection to a file share. In the case of XENApp servers, you will find that many applications place large data, such as dictionaries and temp files, in the Application Data portion of the user's profile, which roams with the user. To improve performance, you can redirect the Application Data folder to a network share or you can identify the file that is being written and find other ways to redirect the file. You can also combine Folder Redirection and roaming user profiles to decrease logon and logoff times for roaming and mobile users.

After redirecting Application data, the Disk Queue length dropped and user experience was satisfactory

More Recomended Reading

More information on Provisioning Server

blog comments powered by Disqus
Microsoft Virtualization, Citrix, XENServer, Storage, iscsi, Exchange, Virtual Desktops, XENDesktop, APPSense, Netscaler, Virtual Storage, VM, Unified Comminications, Cisco, Server Virtualization, Thin client, Server Based Computing, SBC, Application Delivery controllers, System Center, SCCM, SCVMM, SCOM, VMware, VSphere, Virtual Storage, Cloud Computing, Provisioning Server, Hypervisor, Client Hypervisor.