Tag Archives: scalability

Windows 10 – Resource Utilization


Every 6 months, Microsoft releases a major update to Windows 10. To be more precise, it is better to identify Windows 10 releases with version numbers (1503, 1511, 1607, 1703, 1709 and 1803).  The format is the year and month of the release, so 1503 is March 2015 and 1709 is September 2017.

Microsoft provides ongoing support for the newest 3 versions. When Windows 10 (1803) was released, Windows 10 (1607) support ended. Since Microsoft is releases new versions of Windows 10 on a semi-annual basis (every 6 months), the shelf life for a new Windows 10 version is roughly 18 months.

I’m curious how each release impacts the system resources, so I ran a few tests. Each test uses the same operating system configuration (default, out-of-box) and the same LoginVSI configuration:

  • Workload: Knowledge Worker
  • Duration: 60 minutes
  • Metric Sample Timeframe: 1 second

Let’s take a look at CPU, RAM and disk utilization for different Windows 10 versions. These are default installs with no optimizations.

The utilization trend, across all three categories is up.  Each new version consumes more resources, which makes sense. With each new version, Microsoft introduces new functionality to take advantage of the latest technologies. These features have an impact on the CPU, RAM and disk utilization.

Let’s take a closer look at RAM utilization

When a user logs on, they have less RAM to start with than they did with a previous Windows 10 version.

Each release introduces new

This is why it is important to optimize the operating system (removing things we do not need), which can bring these numbers down. At a minimum, we should at least be looking at optimizing the default applications.

Daniel (Follow on Twitter @djfeller)

Citrix Workspace Architecture Poster
XenApp/XenDesktop On-Premises Poster
XenApp/XenDesktop Cloud Service Poster
Citrix XenApp and XenDesktop 7.15 VDI Handbook

Advertisements

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

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