Tuesday, April 21, 2009

Rolling out updated Citrix VM Template


I have updated our Citrix VM Template:
  • Added CD, left disconnected
  • Updated Tools, included Memory Manager (aka Balloon Driver) -- after reviewing this time and again with various engineers, I have come to several conclusions:
    • a lot of the info out there is still based on ESX 2.x
    • The Balloon Driver is a safety net, which should not be normally called
      on when designed properly
    • when in doubt, and until proven otherwise, go with the standard package
  • Tweaked the service controls
  • Added PowerShell 1.0 (I'm becoming a big fan of PS scripting)

With this updated Template, I am deploying 8 new VMs for Production Load. These are deploying tonight, sanity check tomorrow, full load by Thurs hopefully.
My plan is to have these 8 machines, plus 2 existing production Citrix VMs (10 total) on the same isolated ESX 3.5 U3 Host, all running on iSCSI SAN LUNs. This should tell us how close to accurate our forecasts are. Our goal is to run approximately 30-35 users per VM, 10-12 VMs per host... this would give us a user density of at least 300 users per physical host, but as high as 450, so we should have some built-in growth and scalability.
However, forecasted numbers are just an educated guess. By loading a dedicated host full, we can monitor the impact on the front and back ends. Our concern is being CPU bound on the host more so than being Memory Bound. The ESX host in question is a Dual Quad-Core Intel (8 cores) with 32gb RAM. Each VM will have 1 vCPU and 2gb RAM.
To monitor this, we will be using:
  • ESXtop on the ESX Host to monitor host-level performance
  • vCENTER real-time stats to graphically display and monitor the individual VMs
  • Citrix Load Evaluators (# of sessions) to monitor user distribution
  • End-User Experience of performance
With the ESXTop and vCenter, we will specifically look at:
  • %READY (the amount of time a VM was waiting on processor)
  • %EUSED (how much of the physical processor power the VM is consuming)
  • %MEM (how much memory is used by a VM)
  • Host CPU Load Average
  • Memory Balloon bytes (to watch if the balloon driver is getting called, and determine if it is helping or hurting performance)
Based upong the VM stats and the ESX Host stats we can determine if we have adequately sized our virtual and physical servers. This will help us understand if we have added capacity, or if we are oversubscribing. For more on ESX Top, see this pdf from VMWare. Sure it is ESX2, but the information is still valid.
More to come later, but if you have direct experience, drop me a line and let me know what you have encountered....

3 comments:

  1. I am running esx3.5 U3, Xenapp 4.5 rollup2, and have around 100 servers in my farm. Our goal is around 300. Standard build is 2 vCPU, 4 GB memory, leave baloon drive alone, standard OS build and TS build. Nothing special. We ran in our old farm between 18-20 users on physical (we running a pretty heavy billing application). So far I am seeing good performance in our new 4.5 farm and I am avg 16 users per VM. We are getting ready to move another 700 users next week - so that should bring the user count back to where our physical servers were. Our ESX servers are HP DL580's (16 cores & 42 GB memory).

    We also use NFS datastores with a netapp back end - and see really good performance.

    ReplyDelete
  2. I am also running ESX 3.5 U3 and XA 4.5. We have 10 virtual Xen App servers across 5 ESX hosts. We are using 2 vCPU, due to processor performance issues seen when using 1 vCPU. At one processor we were seeing 10-15 users per server, with 2 vCPU we are seeing ~25, but any more than 25 and performance gets pretty bad. Our host servers are Dell 2950's with dual quad core proc's and 32GB RAM and Storage is a Dell CX3 with Brocade FC switching. It really depends on your apps, but I think 25 is pretty realistic number on per VM on a 2 way server.

    ReplyDelete
  3. Anyone had any experience with rollup4 and VM? I am starting to look into pushing this out. I know I need to update my CTX LS - but that should not be a big deal... Thanks.

    ReplyDelete