Over the last year, most organizations have deployed or expanded digital workspaces to support employees working from home. One of the most popular technologies for digital workspaces is VMware Horizon. In this blog, we discuss the top performance challenges that administrators of VMware Horizon deployments have to tackle.
What is VMware Horizon?
VMware Horizon (formerly called VMware View) is a leading technology for secure delivery of virtual desktop and applications across private, public, and hybrid cloud environments. Using the Horizon Client application installed on client devices, users can connect to the Horizon infrastructure. Users can also use a web browser as an HTML client when accessing the Horizon infrastructure from devices on which installing client software is not possible. With PCoIP and Blast Extreme protocols being used, VMware Horizon facilitates delivery of high-end graphics and video content. Instant Clones and App Volumes technologies in Horizon enable fast and on-demand delivery of desktops.
Horizon allows administrators to create and broker connections to Windows and Linux virtual desktops, Remote Desktop Server (RDS)–hosted applications and desktops, Linux-hosted applications, and Windows physical machines.
The VMware Horizon Architecture
Figure 1 shows the VMware Horizon architecture. The VMware Unified Access Gateway™ is used to provide secure edge services to users. The Horizon Client authenticates to a Connection Server through the Unified Access Gateway. The Horizon Client then forms a protocol session connection through the gateway service, on the Unified Access Gateway, to a Horizon Agent running on a virtual desktop or RDSH server.
Figure 2 depicts the interactions between the different VMware Horizon components. The Horizon Connection Server is responsible for securely brokering and connecting users to the Horizon Agent that is installed on the desktops and RDS Hosts. Horizon Agents are installed on guest operating systems (desktops/RDS hosts) and allow these machines to be managed by Connection Servers and allows Horizon Clients to establish remote access sessions to the machines.
In Figure 1, the AppVolumes Manager is responsible for orchestrating application delivery by managing assignments of application volumes (packages and writable volumes) to users, groups, and target computers.
User Experience is Critical in a VMware Horizon Infrastructure
Remote access technologies, such as VMware Horizon are extremely performance sensitive. A lag of even a few seconds between a key being typed by a user and the character being seen on the screen can be extremely discomforting to the user. Likewise, if a session gets disconnected abruptly, a user may lose his work completely. Hence, poor user experience can result in user dissatisfaction, loss of productivity, and direct loss of business revenue.
VMware administrators need to ensure that user experience remains within acceptable limits. There are many facets to user experience. The first impression of the user is based on the speed of the logon process. Hence, logon processing must be fast. Once the user logs in and when they click on an application (e.g., Microsoft Outlook, Google Chrome, etc.) to launch it, the application should launch within a few seconds. When the user interacts with the application, the keystroke lag or screen refresh latency should not be very high. If audio/video applications (e.g. Microsoft Teams) are being used, sufficient bandwidth should be available for the user’s session. VMware administrators must have ways to measure all of the different facets of a user’s experience. As users may be accessing from different remote locations, it is important to track performance by location as well.
The easiest way to get started with monitoring user experience is by using synthetic monitoring aka user simulation. The VMware Horizon logon simulator from eG Innovations provides you with a simple and inexpensive way to get started on your journey to monitor user experience.
Troubleshooting the Root Cause of User Experience Issues is Challenging in VMware Horizon Deployments
As we have seen in the VMware Horizon architecture, there are several tiers of hardware and software that have to work together for fast user accesses to virtual apps and desktops. If there is a slowness in the UAG, the Connection Server, the AppVolumes manager, the ESX servers, the Active Directory, or the RDSH servers or the virtual desktops, user experience will suffer.
The challenge for a VMware Horizon administrator is that user complaints will simply say that “their virtual desktop is slow” or that the “virtual app is taking time to launch”. Of course, users are not aware of the complexities of the VMware Horizon infrastructure nor do they care about this.
Faced with user complaints, the VMware Horizon administrator must determine which of the several VMware Horizon tiers is not working as expected. This requires in-depth analysis of the availability, performance, and usage of all of the different tiers involved in supporting the virtual app/desktop service. VMware vROPs, the built-in tool in the VMware virtualization platform can help. You can also benefit from the VMware vROPs for Horizon module of vROPs. Third-party solutions, such as eG Enterprise also help provide insights into the performance of all the different VMware Horizon tiers, as well as the other infrastructure tiers, such as storage, network, Active Directory, profile servers, etc.
Horizon Administrators must be able to Detect User End issues that Cause Poor User Experience
Users may be accessing the Horizon environment from different locations. Many may be accessing the service from their home, using Wi-Fi connections. Poor signal strength in the home network, low bandwidth connections from the user’s ISP, or even resource issues on the user endpoints can all affect user experience. VMware Horizon administrators need to have an idea on how they will detect and troubleshoot user-end issues. One approach is to have agents deployed on all the endpoints. The drawback with this approach is the cost of agents on thousands of endpoints and the difficulty in maintaining these agents.
The other approach is to make sure that the infrastructure and services that are directly under the VMware Horizon administrator’s control are monitored well and that agents are deployed on specific endpoints on-demand, say when a specific user complains again and again. Both of these approaches are valid, and you can choose whichever option best suits your needs.
To assist administrators in detecting which users are likely to be noticing poor experience, VMware Horizon has built-in mechanisms to report protocol-level latency, i.e., round-trip time for PCoIP and Blast. By comparing these values across user sessions, administrators can proactively learn which users are likely to be seeing poor experience.
Horizon Administrators need to Monitor inside the Virtual Desktops
As accesses by users from their virtual desktops are not completely under the control of the VMware Horizon administrator, it is important that administrators are able to see what is happening within each virtual desktop. Questions that a VMware Horizon administrator needs to have answers for include:
- Is the user running any unauthorized application that is taking up a lot of CPU/memory resources within the virtual desktop?
- Is the user performing any tasks on their desktop that could be taking up an excessive number of resources?
- If the browser is taking up a lot of resources, which are the active URLs that the user is accessing from the browser?
- Is the desktop sized adequately? Is there a resource bottleneck?
- Does the TCP traffic to/from the desktop indicate any network bottleneck?
Hence, it is important that VMware Horizon administrators have complete insights into each and every virtual desktop.
Analytics for Capacity Planning and Optimization
Capacity issues in the VMware Horizon environment can also affect user experience. For example, when a hypervisor is overcommitted in terms of resources, users may see screen freezes for a few seconds. Configuration limits can also affect user accesses. For example, if a desktop pool is not sufficiently sized, a user may not get a desktop allocated to them when they login. Performance issues due to logon storms (e.g., hundreds of users logging in and starting their desktops at the same time) are also well documented. User complaints can also result from the virtual desktop being under-sized for its workload (e.g., not having enough vCPUs assigned to it).
VMware administrators have to track all the key configuration settings and monitor the utilization levels relative to the configurations and determine times when performance issues manifest because of insufficient capacity in the VMware Horizon infrastructure.
Performance considerations are extremely important for the success of any VMware Horizon deployment. In this blog, we have outlined several of the key performance challenges that VMware Horizon administrators have to overcome to ensure that their virtual app and desktop deployments deliver the desired outcomes for their organizations.