Citrix on VMware, 1vCPU or 2vCPU ?

Following my previous Citrix testing on VMware I thought it best to try a dual vCPU VM to see if I can get double the users of a single vCPU, sounds logically sensible to me !

So just a reminder that a single vCPU with 25 users ran at around 73% average, a nice figure to run at giving plenty of CPU for peaks and troughs.

This test of a dual vCPU was undertaken following the sucesfull test of 25 users on one VM with 1 x vCPU this was run as a baseline to see how it relates to the single vCPU VM.

Virtual Machine Specification

2 x vCPU (Using VMware process affinity to tie the VM to a specific CPU core)
3072 GB RAM (reduced from 4GB as memory was not being used)

1 x 20GB Hard Disk Stored on SAN

1 x vNic (1GB)

Users Logged on: 50

  • Logged 10 users on and working over 5 minutes
  • Logged another 10 users on and working over 5 minutes
  • Logged another 5 users on and working over 3 minutes
  • Kept 25 users logged on and working for 15 minutes
  • Logged all 25 users off over a 5 minute period

clip_image002

As you can see from the above, a 3000Mhz server runs at around 60% which is not a good start bearing in mind the single vCPU VM.

Next Test 50 Users and Dual vCPU

This test was undertaken following the sucesfull test of 25 users on one server with 1xVCPU allowing for a reasonoble amount of capacity for application usage.

Virtual Machine Specification

2 x vCPU (Using VMware process affinity to tie the VM to a specific CPU core)
3072 GB RAM

1 x 20GB Hard Disk Stored on SAN

1 x vNic (1GB)

Users Logged on: 50

  • Logged 20 users on and working over 5 minutes
  • Logged another 20 users on and working over 5 minutes
  • Logged another 10 users on and working over 3 minutes
  • Kept 50 users logged on and working for 15 minutes
  • Logged all 50 users off over a 5 minute period

clip_image002[7]

The peak CPU usage of this graph was reached before 50 users were connected and therefore proves that the best method to get more users per physical server is to scale out rather than increase CPU resources.

This will obviously make sense in some cases where the cost of Operating System, Application software and licenses and management costs may make sense to build a 2 x vCPU and get slightly more users.

 

11 thoughts on “Citrix on VMware, 1vCPU or 2vCPU ?”

  1. Most likely the real user-experience will be crappy running 25 users on a single vCPU. Performance counters may give you good numbers but real life experience from multiple virtual citrix designs with plenty of different applications tells me that users won’t be happy on 1 vCPU (anyone tried the new reports from edgesight to see if they pin-point the crappy performance? i must test this).

    It’s still required to optimize the OS even if running so few users. Kernel memory may not limit you (i would however tune it) but smb commands most likely will if you use any filestorage, lazy flush will impact etc. etc.

    However, as mentioned in earlier posts, it’s probably dependant on applications (even if i havn’t found one that works well with 25ccu’s on a single vCPU vm).

    Anyhow, measuring from within the vm usually won’t give you “real” numbers, dedicated resources or not.

  2. In my own testing using 1vCpu and 2vCpu I found that with 2vCPU you could only get a few extra users, but the reponsiveness of the server was greater.

    I noticed that users would abandon their session on the 1vCPU server as the load hit around 50% to 60% cpu. This was only about 12 users.

    So for me if I was going to virtualize a Citrix server it would need 2vCPU.

    Obviously hardware and applications are a factor as well.

  3. Rodos,

    Couldnt agree more, it certainly depends on the applications, user load and also how you are publising the apps. Hopefully in my next post I will show how the real users compare to my test users. Thanks for your comments.

  4. The result of 1 or 2 vCPU is going to depend a reasonable amount on the applications that the users are running during the test. I have seen it where you could only get a decent number of users once there were 2 vCPU. So people should perform their own load testing to determine the right mix for their environment.

    Rodos

  5. Steve_I

    Thanks for the comments, funny enough my next blog will be including a real user graph showing the 8 VMs working on the seperate cores and showing how real user trends are different.

    I have also performed more testing to see if there is CPU stress which cause issues and these will also be included in the next post… watch this space !

    Alan

  6. Good doc. I’d like to see a graph of CPU performance on the ESX host machine. I’ve seen multiple concurrent logons on separate guest machines hosted on the same ESX cause CPU stress on the host that is not reflected in the Perfmon stats of the guest citrix machines. This can hide potential user session slowness issues as the guests fight for resources. Do you have any graphs of the ESX server performance? Again, great doc.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.