Tag Archives: scalability

Sizing Windows 2016, Windows 2012 and Windows 10 Virtual Machines


It has been almost one year since Windows Server 2016 was released at Microsoft Ignite. Are the virtual machine sizing recommendations for Windows Server 2012R2 applicable to Windows Server 2016? And since we are talking about sizing virtual machines for XenApp and XenDesktop, it might be a good time to revisit Windows 10.

Let’s first look at virtual CPU allocation recommendations: Continue reading Sizing Windows 2016, Windows 2012 and Windows 10 Virtual Machines

Advertisements

Sizing XenApp Windows 2012R2 Virtual Machines


I guess I’m not done yet.

Last week, I posted the latest recommendations on sizing Windows 10 and Windows 7 virtual machines for a XenDesktop environment.  I received a few replies from people asking for any updates regarding Windows 2012R2.

Unfortunately, when we discuss Windows 2012R2 and XenApp, the recommendations are not as straightforward as Windows 10 and Windows 7.

  1. Because Windows 2012R2 will do session virtualization (where many users share the same VM but get a separate session) it makes sizing CPU and RAM more difficult.
  2. Because we can publish multiple resources from the same VM, we can have a mix of light, medium and heavy users on the same VM at the same time.
  3. Because each VM will host multiple users, our VMs will be sized larger when compared to Windows 10 and Windows 7. To size correctly, we need to align our recommendations with the nuances of the hardware.

Let’s take a look at the latest recommendations before we go into more detail.

Win12RwSizingvCPU

For vCPU, you notice it is based on NUMA.  What is NUMA?  I recommend you read these two blogs by Nick Rintalan.

  1. An intro to NUMA
  2. A Discussion about Cluster on Die

To summarize, you get the best physical server density when you have the same number of vCPU for your XenApp VMs with either the number of cores within a NUMA node or 1/2 of a NUMA node.  If you go with 1/2 of a NUMA node, then you will just have two times as many VMs.

Cluster on Die is a little more complex as newer hardware chips don’t have equal sized NUMA nodes across cores.  Cluster on Die is a BIOS option that balances cores equally by creating clusters of cores.

RAM

Sizing RAM is also a little different than when comparing it to Windows 10 and Windows 7. With session virtualization, like XenApp, all users share the same OS instance. Users also share the same application instances. The OS and app instances only consume RAM once. That is a huge reduction in overall RAM usage, which is why the RAM recommendations are significantly lower than the desktop OS.

Of course, the amount of RAM you allocate is going to be based on the specifics of your applications.

PVS RAM Cache

Just like with Windows 10 and Windows 7 recommendations, the PVS RAM cache is extremely valuable in a Windows 2012R2 XenApp environment.  With PVS RAM Cache, we see huge reductions in IOPS for Windows 2012R2.

Daniel (Follow on Twitter @djfeller)
XenApp Advanced Concept Guide
XenApp Best Practices
XenApp Videos

Sizing Windows 10 and Windows 7 Virtual Machines


After reviewing all of the scalability tests we conducted over the past few months, I thought it was time to revisit the recommendations for sizing Windows 10 virtual machines.  I also reached out to Nick Rintalan to see if this is in line with what is currently being recommended for production environments (if you disagree, blame him 🙂 ).

Win10Sizing

A few things you will notice

  1. Windows 7 and Windows 10 recommendations are similar.  Microsoft’s resource allocation for both operating systems are similar.  The Windows 10 and Windows 10 scalability tests resulted in similar numbers.
  2. Density – Experience: For some of the recommendations, there are 2 numbers. The first is if you are more concerned with server density and the second is if you are more concerned with the user experience.  What I find curious is if you have a heavy workload, are you as concerned with server density?
  3. PVS RAM Cache: Using the RAM cache will drastically reduce storage IOPS.  This will be critical to providing a good user experience and will be taken from the total allocated RAM.  The RAM column takes the RAM Cache numbers into account.
  4. Hypervisor: There is no hypervisor identified.  Testing showed minor differences between XenServer, Hyper-V and vSphere.

Daniel (Follow on Twitter @djfeller)
XenApp Advanced Concepts Guide
XenApp Best Practices
XenApp Videos

XenDesktop 7.7 and Windows 10


The other day, I was able to share the latest single server density results when running Windows 7 on XenDesktop 7.7. We looked at a range of parameters like:

      • PVS vs MCS
      • PVS Disk Cache vs RAM Cache
      • Citrix Policies: Very High Definition vs High Server Scalability vs Optimized for WAN
      • Windows 7 optimizations

Once that testing was complete, we moved onto the next version… Windows 10. An again, looking at the exact same parameters.

First, we look at Microsoft Hyper-V 2012R2

HVwin10

Second, we look at Citrix XenServer 6.5 SP1

xswin10

What do you notice?

Between XenServer & Hyper-V… Not much

Between MCS and PVS… Not much as the 5-6% gains in MCS would be offset by increased storage costs due to lack of RAM Caching capabilities

Between the different policies… Around a 7-8% improvement

Between OS optimizations… Around a 7% improvement

The last part I find very interesting.

If you recall, I recently posted a blog (Windows 10 Optimization: The Results) showing that the Optimized OS config, based on the numerous Windows 10 optimizations, showed a 20% improvement in density. As we look at this expanded series of tests, what I now see is something rather interesting. Simply utilizing the Citrix policy templates, we achieve 1/2 of that density gain.

And I can tell you from experience that implementing the Citrix policies are much easier than working through all of those Windows 10 optimizations

So my advice, definitely use the Citrix policy templates as your starting point. If you want to know more about them, I suggest the following:

Server Specs:

      • Processors: Dual Intel Xeon E5-2697 (12 cores each)
      • RAM: 384 GB
      • Workload: Knowledge Worker
      • VM Specs: 2vCPU, 4 GB RAM

 

Daniel (Follow @djfeller)

XenApp Best Practices

XenApp Videos

 

 

 

 

 

 

XenDesktop 7.7 and Windows 7


We recently completed a massive round of testing looking at many of the different deployment configurations we can do with a Windows 7 desktop in XenDesktop 7.7. We wanted to look at how different factors might impact single server scalability.

  • PVS vs MCS
  • PVS Disk Cache vs RAM Cache
  • Citrix Policies: Very High Definition vs High Server Scalability vs Optimized for WAN
  • Windows 7 optimizations

Each test was conducted utilizing the same, knowledge worker workload.

Win7

 

xs

As you see, each test builds upon the previous test while only modifying a single parameter. As I’ve gone through the initial results, some things quickly popped out at me:

  1. Machine Creation Services, from a purely single server scalability perspective, shows some impressive numbers.
  2. Enabling the RAM Cache feature within Provisioning Services gave us a 9% gain in server density.
  3. Every hypervisor tested showed similar percent changes between the different tests.
  4. There was little difference between High Server Scalability and Optimized for WAN because the items within the policy were not a significant part of the tested workload.
  5. Switching from the Citrix Very High Definition User Experience Policy to the Citrix High Server Scalability Policy improved server density by a whopping 30%.

Why did we see such a gain when moving to the High Server Scalability policy? Because the Very High Definition User Experience policy utilizes the H.264 codec, which gives the user a great experience, but at the cost of CPU utilization. When we switch to the High Server Scalability policy, we utilize the latest ThinWire technology. We are able to reduce CPU utilization while increasing server density by changing the way the system encodes the data.

In addition, these policies also modify how items are compressed, how many frames per second are transmitted, plus many more.

To learn more about the Citrix policies, check out the following blogs:

  1. Why you should care about the new HDX ThinWire
  2. HDX Policy Templates

Stay tuned for Windows 10 on XenDesktop 7.7

Server Specs:

  • Processors: Dual Intel Xeon E5-2697 (12 cores each)
  • Workload: Knowledge Worker
  • VM Specs: 2vCPU, 4 GB RAM

Daniel ()
XenApp & XenDesktop Best Practices
XenApp & XenDesktop Videos

Windows 10 Optimization: Part 8 – The Results


Statistics are fun. It is amazing what interesting insights you can get from statistics. For example

  1. About 20% of workers would work harder if their employer offered a $1,000 shopping spree at the store of their choice – You hear that Citrix!
  2. About 20% of the people who watch the Super Bowl do so for football, the rest watch commercials
  3. About 20% of copy machine issues worldwide are caused by people sitting on them – That is awesome
  4. Over the past year, my blogs are 20% funnier

And my absolute favorite statistic is from Homer Simpson (who else):

  1. People can come up with statistics to prove anything Kent, forty percent of all people know that.

As you’ve seen, we’ve been creating a Windows 10 optimization guide. The Windows 10 optimization guide was focused on identifying, for VDI, as many of the extra components that would negatively impact server density, while focusing on balancing the user experience, as stated in the XenApp Best Practice: For the best combination of user experience and resource consumption, optimize appropriately.

Over the course of several blogs, we looked at optimizing the following items:

  1. Default apps
  2. Services
  3. Scheduled tasks
  4. User Interface
  5. Runtime
  6. Release
  7. ICA

Now the big question is

“What impact did these modifications have?”

First, it gave me something to blog about (This is a big deal. After 5+ years of blogging, I’m running out of ideas).

But most of you probably care about the second part… What was the impact on server density? And for this, my minions, I mean the Citrix Solutions Lab, took over. (We joke that the Citrix Solutions Lab should rename themselves to Feller’s Lab because it seems like they do a lot of testing for me – pity them).

For the series of tests, we had two different policies, one would simply turn on the Citrix “High Server Scalability” policy setting. This corresponded to Part 7 of the Windows 10 optimization blog.

The second policy we applied were all of the Windows 10 optimizations we discussed in Parts 1, 2, 3, 4, 5 and 6 of the Windows 10 optimization blog series.

Turning the Citrix Scalability policy on, gave us a 10% bump in user density.

Turning on the custom OS optimization policy gave us almost another 10% bump in density.

Turning both of these options on equaled roughly 20% more users on our physical host.

Definitely, not a bad start

Daniel ()
XenApp Best Practices
XenApp Videos

XenDesktop 5 Scalability – Site Capacity


When we last looked at XenDesktop 5 scalability, we really focused on the user experience in that users should not be required to wait longer than 2.5 seconds before the system responded to an authentication or launch request. We said that if the controller got very busy due to logon storms, we could add additional controllers to help lower the overall load and get us back to that 2.5 second goal. But guess what? The 2.5 second goal might require that we look at other aspects of the XenDesktop 5 architecture beyond the controllers. We already looked at the maximum size of a XenDesktop controller, so th next thing to look at is how big can a XenDesktop 5 site become?

We can keep adding controllers, but won’t we eventually hit a site limit? If the controllers “talk” to the SQL Database for pretty much every transaction, we want to make sure that the database server is designed appropriately to support the storms. We could easily run into an instance where the controllers are functioning well below thresholds, but the user experience is still poor. We need to take a look to see if we allocated enough resources to make sure that the SQL database is not bogged down.

The SQL Database is the heart of a XenDesktop 5 site. Here’s the good news… Databases are built for transactional type processes, and that is what XenDesktop 5 is using the SQL Database for. We should be able to see some crazy scalability numbers and with testing being conducted, we are.

For example, I’ve seen one test that simulated 20,000 logon connections in 13 minutes (25 new requests per second). An 8 core, 16GB RAM dedicated SQL Server consumed 32% CPU utilization. This is a fairly sizable logon storm. Even if you extrapolated this out, you should be able to get an insane size of a single XenDesktop site. I haven’t seen anything in production at this size yet on XenDesktop 5, but things are looking very promising.

As you would expect, once you are running, you need to monitor the database server (especially if you are sharing this database with other database or services). At a high level, focus on the standard items:

  • CPU
  • Memory
  • Disk

If you need to drill down more, due to performance issues, this is when you need to be looking closer at the SQL Server metrics:

  • Buffer manager
  • Memory manager
  • Statistics

Daniel – Lead Architect
XenDesktop Design Handbook