If you’re using VMware Horizon, you’re spending up to 92 percent more on compute costs on Microsoft Azure than you would if you were using Citrix Virtual Apps and Desktops.[1] In a recent round of internal tests, we found that when delivering virtualized applications or desktops by means of a D3v2 instance on Azure, you can save up to 48 percent of your monthly compute cost per user.

If you deploy a D4v2 instance in Microsoft Azure using Citrix Virtual Apps and Desktops, you can deploy 96 percent more users on the same instance than you can using VMware Horizon and lower compute density.

And as you know, the more sessions you can host on an instance, the lower your monthly fee for compute. A D3v2 instance in Microsoft Azure costs approximately $424 per month.

Internal tests showed that running the instance through Citrix, you can deliver 25 sessions. With VMware, you’ll be limited to 13.[2]

In a 1,000-user environment, Citrix would require 40 instances and VMware 77. At a rate of $424 per month per instance, the cost to use VMware would be almost $33K per month. The same environment with Citrix would cost just $17K.

Internal Citrix tests show that the comparisons for the newer D4v2 instance are no different; it is a more powerful instance, so its costs will be about $792 per month.[2]

Running that instance through Citrix would make it possible for you to deliver — drum roll — 49 sessions while VMware would give you just 25.

Again, in a 1,000-user, scenario that would mean an extra $31K with VMware. Conversely, the same environment with Citrix would cost you $16K.

The graph below says it all. Citrix enables more sessions per instance and can help you lower compute costs for running desktops on Azure.[3] [4]

The graph shows a knowledge worker workload on two Microsoft Azure instances and the number of sessions each could handle. It clearly shows the difference between Citrix and VMware when it comes to scalability.

What do customers gain from this? Besides having a lower bill at the end of the month, you’ll be able to deliver a better, more powerful desktop to your users. And at the end of the day, that’s what it’s all about.

The Environment

The tests we conducted were intended to show the differences between Citrix and VMware.

The user density tests were conducted with Login VSI [5], as that is the market standard for scalability and performance testing. We were keen to make sure test results were accurate and that tests were conducted properly. Please let us know in the comments below if you identify any inconsistencies in the tests.

The environments used to test were a Citrix Virtual Apps and Desktops environment and a VMware Horizon Cloud services environment, each running on Microsoft Azure.

Platform Version Client version
Citrix Virtual Apps and Desktops (on Azure) 1902 CWA 1903
VMware Horizon Cloud services (on Azure) 19.1.0 VMware Horizon Client 5.0.0-12606690

Citrix Optimizer was used for the Citrix image. The VMware Horizon import desktop wizard offers a tuned image to be imported; we chose that image. The templates were on par with patches and software apart from the vendor-specific software. Resolution was forced to 1920×1080, and everything was executed in full screen.

Client instances Specs Client quantity
A4 instance 8vCPU/14GB 5

Other infrastructure was created as required; this involved a D2v2 instance with VMware deployed as the control plane. This instance is a 2vCPU/7GB instance deployed from the VMware cloud console after creating a POD. All VMs used for the tests are rebooted each time and left idle for 10 minutes before testing starts.

Azure instance Specs Costs per month – avg
D3V2 4vCPU\14GB\128GB HDD 100K transactions $424[6]
D4V2 8vCPU\28GB\128GB HDD 100K transactions $7926

Three instances were tested using a standard 127GB disk (non-SSD). The costs per month were calculated with the Microsoft Azure cost calculator.

For the tests, the VMware Horizon and the Citrix Virtual Apps and Desktop environments were run in default state, not specific tuning besides the default that is already there. The VMware image was tuned when imported from the marketplace.[7] For Citrix, Citrix EDT [8] was used and for VMware Blast Extreme was used. We did not test with VMware PCoIP as the preferred protocol for VMware is Blast Extreme.

Two Login VSI tests were executed. The table below shows the different applications used in these tests, which were performed with the default Login VSI workload. We only show the knowledge worker data because of the length of the blog; the results are similar though.

Apps Task worker Knowledge worker
Adobe Reader x x
Freemind/Java ­ ­x
Internet Explorer x x
Microsoft Excel x x
Microsoft Outlook x x
Microsoft PowerPoint ­ ­x
Microsoft Word x x
Photo Viewer ­ ­x
DoroPDF x x

The Results

We executed two tests with multiple runs for each:

  1. Logon as many users as possible until VSImax[9] was reached
  2. Logon with x users and monitor metrics

Why did we do two tests? The first test was interesting and showed the difference in scalability: Citrix hosts more sessions than VMware. Both systems had different system load metrics as different number of sessions were active. So, though we knew the scalability, we wanted to make sure we did an “apples-to-apples” comparison of the system load. This could only be achieved while running the same number of sessions with both Citrix and VMware.

In the first test we determined the VSImax for both products, and we used the lowest number (reached by VMware) as the baseline for the second test. That baseline is low for Citrix, but we wanted both products to finish the test without one pegging CPU 100 percent early in the test. The graphs below show the results of the D4v2 test where VMware reaches VSImax at 24; it also shows that by using Citrix VSImax is not reached.

We did a test with 14 users/sessions on a D3v2 instance, and the result corresponded with the earlier test where we stacked the instances with sessions. VMware average CPU usage was around 46 percent whereas Citrix was at 23 percent.

We noticed during testing that VMBlastW.exe and VMBlastS.exe processes were using a massive amount of CPU time. When we looked at the overall usage of CPU and available RAM, the VMware CPU usage stood out.

The graph shows the D3v2 Microsoft Azure instance with the CPU usage going through the roof with just 14 users, reaching VSImax at 13. Conversely, the Citrix instance is having a “walk in the park” and wouldn’t reach VSImax until it reached 25 users.

The D4v2 Microsoft Azure instance showed the same outcome. VMware Horizon pegged CPU until VSImax was reached at 25 users. For the Citrix instance, on the other hand, this workload only reached VSImax at 49 users.

VMware Horizon uses two major processes, one for in-session handling and one for connectivity. VMBlastW.exe is the in-session handling process while VMBlastS.exe handles connections. We looked at the performance of both processes and their Citrix counterparts, ctxgfx.exe and brokeragent.exe.

The internal test revealed that ctxgfx.exe used far less processor time than VMBlastW.exe. The outcome of the test showed that with 14 users/sessions, VMBlastW.exe used 140 percent more processor time than Citrix, a massive difference. The graph below shows the data. We see that ctxcfg.exe uses .5 percent CPU on average per user whereas VMblastW.exe is using 2.7 percent CPU per user. These are per user processes, so 140 percent more CPU load is a big deal.

Looking at the other processor group, VMBlastS.exe and brokeragent.exe, we saw a similar pattern. VMware Horizon VMBlastS.exe used 142 percent more processor time than Citrix brokeragent.exe.

The same results are seen with the D4v2 instances on Microsoft Azure. They allow more sessions because of the extra compute they offer but still have the same scalability issues for VMware.

The graphs show VMware Horizon processes that take more resources than the Citrix equivalent. The fact that the VMware Horizon processes are using more resources than the Citrix ones is seen in the scalability numbers.

Please note, the user density and scalability tests were conducted by Citrix in May 2019 and again in July 2019. Tests were conducted on available versions of software provided by VMware in the Azure cloud offering.

Based on the findings and assessments of Citrix test engineers and on industry best practices used for testing, Citrix can help you lower compute costs for running desktops on Azure.

Learn how you can reduce IT costs and increase efficiency with Citrix and cloud VDI solutions on Microsoft Azure.


[1] Based on compute costs, not taking into account required infrastructure.

[2] Based on a Login VSI Knowledge worker workload: https://www.loginvsi.com/documentation/index.php?title=Login_VSI_Workloads

[3] CVAD = Citrix Virtual Apps and Desktops

[4] TW+ = Thinwire

[5] https://www.loginvsi.com

[6] Azure region East US

[7] https://docs.vmware.com/en/VMware-Horizon-Cloud-Service/services/hzncloudmsazure.admin15/GUID-B6C49A99-0A72-418C-87DD-5C7751E7C951.html

[8] Citrix Enlightened data transport protocol: https://citrixblogs.wpengine.com/2017/11/17/hdx-adaptive-transport-and-edt-icas-new-default-transport-protocol-part-i/

[9] https://www.loginvsi.com/blog-alias/login-vsi/481-calculating-maximum-virtual-desktop-capacity-vsimax-explained?highlight=WyJ2c2ltYXgiLCIndnNpbWF4JyJd