Do you ever wonder how much bandwidth you need to do a desktop virtualization implementation? Regardless of the flavor of virtual desktop being implemented (hosted shared, hosted VM-based VDI, local streamed, etc), the network plays a critical role. That should not be surprising (if it is, we need to have an even bigger discussion). If you don’t plan your network bandwidth appropriately, you will have unhappy users, who will make you unhappy.
As we would expect, the user experience degrades as the latency increases and the bandwidth decreases. Proper network planning must be based on the type of work users are performing and the overall network topology. Back in the XenApp-only days, many people used 20 kbps as an estimate for network bandwidth requirements. Can we use that for virtual desktops? NO (although I could configure XenDesktop to only use 20 kbps).
Virtual desktops require more bandwidth because:
- In default configuration, virtual desktops provide a greater and richer experience than the default XenApp configuration.
- Virtual desktop users are idle less often than hosted application users. For example, if a user is sitting in front of a workstation and is accessing a hosted application on XenApp, the desktop and XenApp applications both appear as active. However, when the user is not working with the XenApp application, they are identified as idle by XenApp even though they might be active on their desktop. Due to this difference, the desktop will have less idle time than XenApp hosted applications.
- Desktops access and consume more multimedia and graphical mediums than most applications. A user’s desktop session also includes internet activity, which often includes more graphics, video and sounds. When using a XenApp hosted application, these multimedia activities are only utilized if the application allows.
Estimating network impact is not a trivial matter because the ICA/HDX protocol tunes itself based on the amount of bandwidth available. The less bandwidth available means more compression is applied. Also, any estimate must include percentages for different user activities: typing, graphics, Internet, video (Flash, WMV, etc), and printing. With this information, the following table can be used to create an ESTIMATE (and I do mean this is an estimate):
By calculating the percentage of time a user is expected to be doing certain activities, a rough estimate can be determined for HDX bandwidth requirements. If multiple users are expected to be accessing the same type of content (videos, web pages, documents, etc), integrating the Branch Repeater into the architecture can drastically reduce the amount of bandwidth consumed. However, the amount of benefit is based on the level of repetition between users.
Note: Additional details on the bandwidth estimates can be gathered by referring to the following Citrix white paper: CTX124457 – Performance Assessment and Bandwidth Analysis for Delivering XenDesktop to Branch Offices.
So what does this mean? It means using a single number as your bandwidth estimate is not good enough. You need to understand what users are doing and what percentages you expect them to be doing different activities. After that, you will get a good idea of how much bandwidth is required for a virtual desktop implementation.
Daniel – Lead Architect