As you can see, I’ve spoken numerous time about the Provisioning Services RAM Cache with Disk Overflow capability.
- Windows 10 IOPS
- Video Proof
- Reducing IOPS to 1
- Read/Write Ratios
- XenDesktop 7.5 IOPS
- Digging deeper into IOPS
- ESG Spotlight on IOPS
So yes, I like talking about this topic. But now, I’m going to talk about something very slightly different… Cache 🙂
While I was working on capturing some images for my Citrix Synergy 2016 Tech Update session, I saw something interesting.
I started my lab, started my Provisioning Services server and launched a Windows 10 virtual desktop. According to the Provisioning Services agent on my virtual desktop, the desktop took almost 60 seconds to boot (Just so you know, I’m working on 7200RPM spinning disks in my meager home lab, so 60 seconds is expected).
I then started a second Windows 10 VM, using the same Provisioning Service images. Now look at the Provisioning Services agent.
Instead of an almost 60 second boot time on the first VM, the second VM booted in 14 seconds! WHAT?
Look even closer at the two images. Look at the disk throughput. 4,400KB/sec vs 18,000KB/sec.
Sorry, but my cheap disks are not that fast. So what gives?
When you boot a Provisioning Services-based VM, the VM requests the disk image from the Provisioning Services server. The Provisioning Services server reads portions of the disk and streams it across the network. As the Provisioning Services server reads portions of the disk image, Windows automatically stores this information in RAM (system cache), if enough RAM is available.
So when we boot subsequent target devices that use the same disk image, we get a massive boost in performance as Provisioning Services uses the information in RAM instead of reaching out to slower storage.
As i said before, Cache is Good!