XenApp and RDS Sizing Part 4 – Calculating the New Farm's Capacity

This article is part of a mini-series. You can find the other articles here.

In the previous articles in this series we saw how to calculate a farm’s capacity and then how to determine its load. With that information and knowledge of our methodology we can go about calculating the capacity of the new farm, in other words doing the actual sizing. Which is dead simple, by the way.

Required Information

In order to calculate a new farm’s capacity based on usage data from an existing farm, we need to fill the fields of the following table:

DescriptionFarm capacity old (total)Farm capacity old (per user)FactorFarm capacity new (per user)Farm capacity new (total)
CPU [norm. cores]
Memory [MB]
Storage [IOPS]
Network [MB/s]

Capacity Old Farm

We’ll start by entering the capacity numbers determined in part 2:

DescriptionFarm capacity old (total)Farm capacity old (per user)FactorFarm capacity new (per user)Farm capacity new (total)
CPU [norm. cores]174.20.7
Memory [MB]60,894244
Storage [IOPS]4,37018
Network [MB/s]2,3009.2

Scale Factor

Next we’ll take the load results determined in part 3 and set a scale factor. The scale factor governs how much more we need of a component per user in the new farm.

Additional Factors Influencing Load

At this point you need to consider additional changes between the old and new environment that are relevant to capacity, e.g.:

  • higher RAM requirements because of the move to 64-bit software
  • RAM requirements generally increasing with each new software generation
  • CPU and RAM overhead incurred through virtualization technologies like App-V or Personal vDisk

Setting the Scale Factor

We now set the scale factor for the new environment:

ComponentLoad old farmScale factor
CPUlight0.5
Memoryhigh3.0
Storagemedium1.5
Networkminimal0.1

With the scale factor known, the capacity calculation table looks like this:

DescriptionFarm capacity old (total)Farm capacity old (per user)FactorFarm capacity new (per user)Farm capacity new (total)
CPU [norm. cores]174.20.70.5
Memory [MB]60,8942443.0
Storage [IOPS]4,370181.5
Network [MB/s]2,3009.20.1

Result: Capacity of the New Farm

Per User Capacity

By multiplying the old farm’s capacity values with the scale factor we get the new farm’s per user capacity:

DescriptionFarm capacity old (total)Farm capacity old (per user)FactorFarm capacity new (per user)Farm capacity new (total)
CPU [norm. cores]174.20.70.50.35
Memory [MB]60,8942443.0732
Storage [IOPS]4,370181.527
Network [MB/s]2,3009.20.10.92

Total Capacity

The number of users using the environment might be different between the old and the new farm. That is the reason why we broke the calculation down to per-user values. Now we only need to multiple the per-user capacity values with the new farm’s planned user count to get the total capacity. Assuming an increase in CCUs from 250 to 350 we get these values:

DescriptionFarm capacity old (total)Farm capacity old (per user)FactorFarm capacity new (per user)Farm capacity new (total)
CPU [norm. cores]174.20.70.50.35122.5
Memory [MB]60,8942443.0732256,200
Storage [IOPS]4,370181.5279,450
Network [MB/s]2,3009.20.10.92322

What to Buy

CPU

Before we can go and buy servers we need to convert the resulting normalized CPU cores to actual physical cores. Using Moore’s Law as discussed in part 2 we can calculate the performance index of a modern CPU like the Xeon E5-2670 CPUs as follows:

Difference between release dates of oldest CPU Xeon 7100 and Xeon E5-2670: 67 months

Performance index of Xeon E5-2670 = e ^ (0.033 * 67) * 2 = 18.26
(we multiply by 2 because we set the perf index of the oldest CPU to 2, not 1, so that its index per core would be 1) Performance index of Xeon E5-2670 per core = 18.26 / 8 = 2.3

So each core in a modern Xeon CPU is roughly 2.3 times faster than its 2006 ancestor.

We need: 122.5 normalized cores = 53.3 Xeon E5-2670 cores = 6.7 Xeon E5-2670 CPUs = 3 or 4 dual processor servers

Memory

256 GB RAM in 3-4 servers is not much by today’s standards. I would go for something in the area of 128 GB per system.

Storage

The storage subsystem must be able to constantly deliver nearly 10,000 IOPS. That is quite a lot. It can be achieved either by connecting the machines to a SAN (expensive) or by going for local SSDs. Another option would be 12-16 local 15K drives in a RAID-10 configuration supplemented by an IO optimization tool like Atlantis Ilio.

Network

The NICs must be capable of transferring 322 MB/s. That is roughly the capacity of 3 Gigabit NICs. Since we need 3-4 servers anyway, we already have got those 3 NICs.

Conclusion - and Spreadsheet

I hope you liked this series. To help with the calculations I have created a spreadsheet: Helge Klein - Farm sizing.xlsx.

Have fun sizing!

Comments

Related Posts

Is my App Running on Citrix XenDesktop/XenApp?

Is my App Running on Citrix XenDesktop/XenApp?
How do you programmatically determine if an application is running in a session accessed over a remoting protocol (i.e. ICA aka HDX or RDP)? It may be Citrix’ strategy to completely hide the fact that a session is remoted - which makes sense in many ways - but in some cases developers simply need to know in order to optimize their applications. It is surprisingly difficult to find official documentation about this. Here is what you need to know.
Citrix/Terminal Services/Remote Desktop Services

Latest Posts

Fast & Silent 5 Watt PC: Minimizing Idle Power Usage

Fast & Silent 5 Watt PC: Minimizing Idle Power Usage
This micro-series explains how to turn the Lenovo ThinkCentre M90t Gen 6 into a smart workstation that consumes only 5 Watts when idle but reaches top Cinebench scores while staying almost imperceptibly silent. In the first post, I showed how to silence the machine by replacing and adding to Lenovo’s CPU cooler. In this second post, I’m listing the exact configuration that achieves the lofty goal of combining minimal idle power consumption with top Cinebench scores.
Hardware

Fast & Silent 5 Watt PC: Lenovo ThinkCentre M90t Modding

Fast & Silent 5 Watt PC: Lenovo ThinkCentre M90t Modding
This micro-series explains how to turn the Lenovo ThinkCentre M90t Gen 6 into a smart workstation that consumes only 5 Watts when idle but reaches top Cinebench scores while staying almost imperceptibly silent. In this first post, I’m showing how to silence the machine by replacing and adding to Lenovo’s CPU cooler. In a second post, I’m listing the exact configuration that achieves the lofty goal of combining minimal idle power consumption with top Cinebench scores.
Hardware