As you might have read, I recently ran a few XenServer PVS Accelerator tests to determine a starting point for the cache size. This initial investigation looked at Windows 10 and Windows 2012R2 for boot and logon operations.
Looking back, I determined that I want to include three additional items
- Impact of a larger cache size – Increase from 2GB to 4GB RAM cache
- Impact of applications
- Impact of Windows 2016
Before I get into the results, let me explain the graphs.
- The blue, green and orange line denotes boot, logon and steady state operations. The first time those colors appear depicts the first VM; the second time the colors appear depicts the second VM. These colors are linked to the axis on the right showing percent of cache used.
- The solid red area graph depicts the amount of network traffic sent from the Provisioning Services server to the host. The line should initially be large and then diminish as the cache is used. It is linked to the left axis with bytes per second.
With that understanding out of the way, let’s look at the results.
Continue reading XenServer PVS Accelerator Sizing – Part 2
How large should we make our PVS Accelerator cache? Too large and we waste resources. Too small and we lose the performance.
Let’s take a step back and recall our best practice for sizing the RAM on Provisioning Services. We would typically say allocate 2GB of RAM for each vDisk image the server provides. This simple recommendation gives the PVS server enough RAM to cache portions of the image in Windows system cache, which reduces local read IO. So for a PVS server delivering
- 1 image: we would allocate 2GB of RAM (plus 4GB more for the PVS server itself)
- 2 images: we would allocate 4GB of RAM (plus 4GB more for the PVS server itself)
- 4 images: we would allocate 8GB of RAM (plus 4GB more for the PVS server itself)
Let’s now focus on the XenServer portion of PVS Accelerator. If we use RAM as our PVS Accelerator cache, how many GB should we allocate?
Continue reading XenServer PVS Accelerator Cache Sizing
With desktop virtualization, we hear more and more about how important IOPS are to being able to support the virtual desktop. I’ve had a few blogs about it and plan to have a few more. What I wanted to talk about was an interesting discussion I recently had with 3 Senior Architects within Citrix Consulting (Doug Demskis, Dan Allen and Nick Rintalan). There are 3 smart guys who I talk to fairly regularly and the discussions get quite interesting.
This particular discussion was no different. We were talking about the importance of IOPS, RAID configs, spindle speeds with regards to an enterprise’s SAN infrastructure. (Deciding if you are going to use a SAN for your virtual desktops is a completely different discussion that I’ve had before and Brian Madden had more recently). But for the sake of this article, let’s say you’ve decided “Yes, I will use my SAN.” If your organization already has an enterprise SAN solution, chances are that the solution has controllers with plenty of cache. Does this make the IOPS discussion a moot point? Continue reading Does Cache Trump IOPS
It almost sounds like I’m talking about personal finances. You better plan your cache appropriately or you will run out. I’m not talking about money; I’m talking about system memory (although if you plan poorly we will quickly be talking about money).
It comes down to this… system cache is a powerful feature allowing a server to service requests extremely fast because instead of accessing disks, blocks of data are retrieved from RAM. Provisioning services relies on fast access to the blocks within the disk image (vDisk) to stream to the target devices. The faster the requests are serviced, the faster the target will receive. Allocating the largest possible size for the system cache should allow Provisioning services to store more of the vDisk into RAM as opposed to going to the physical disk. Continue reading Not Spending Your Cache Wisely