VDI “The Missing Questions” #9: How many storage IOPs?
Hello fellow VDIers…if you are reading this blog first in the series and wondering why we are on Question 9, then check out the following posts to see the entire series:
- Introduction – VDI – The Questions you didn’t ask (but really should)
- VDI “The Missing Questions” #1: Core Count vs. Core Speed
- VDI “The Missing Questions” #2: Core Speed Scaling (Burst)
- VDI “The Missing Questions” #3: Realistic Virtual Desktop limits
- VDI “The Missing Questions” #4: How much SPECint is enough
- VDI “The Missing Questions” #5: How does 1vCPU scale compared to 2vCPU’s?
- VDI “The Missing Questions” #6: What do you really gain from a 2vCPU virtual desktop?
- VDI “The Missing Questions” #7: How memory bus speed affects scale
- VDI “The Missing Questions” #8: How does memory density affect VDI scalability?
- VDI “The Missing Questions” #9: How many storage IOPs? (You are here!)
We also did a BrightTALK session as well, please kindly watch the recording here: https://www.brighttalk.com/webcast/7345/68115
You bet you do! Storage is a pivotal part of any datacenter. Shared storage rules king these days, and really is challenged by the fact that our desktops are the exact opposite storage model: distributed and direct attached.
Specing out and configuring your storage for a VDI environment can make or break it!
Let me put it this way: Have you used an SSD in your desktop or laptop yet? If not, you are missing out on a truly delightful end user experience.
Things just POP! Boot times can be sub 10 seconds. Apps load almost instantaneously. The spinning blue circle that replaced ye ol’ hour glass becomes a thing of the past. And when you sit down at somebody else’s system that hasn’t made that earth shattering change from clanking disk to silent solid state bliss, you just want to pull your hair out because now your application is taking multiple seconds to respond.
THE SAME HOLDS TRUE FOR THE VDI EXPERIENCE.
Except I’ve been on VDI environments that go from a spinning disk experience to something worse (like that floppy up above perhaps?) All this research we’ve done up to this point around optimizing CPU and Memory doesn’t mean a hill of beans if the CPU’s cores are sitting there twiddling their idle loops waiting on storage. Then your end user wants to pull their hair out and go back to their desktop, which is a pain for you to manage and the opposite goal of the project.
So, while we are not a storage company, I think we all agree that storage is a pivotal part of the VDI equation, and we made some quick and general storage observations in our environment.
THE BOOT STORM: 150 desktops powered on simultaneously
It happens…you had to push an app out last minute, and you are sitting at your desk after an all night-er maintenance blast, and you need to power on all of a department’s desktops. What happens if you do this simultaneously to 150 desktops?
In our lab, we were fortunate to get our hands on an all flash PureStorage array with some pretty awesome low latency IO delivery capabilities. Keep in mind, it is a lab, so this config is not a validated design or in our HCL right now, but it does give us an idea of the storm to hit the storage when there is a low latency storage device behind the VDI cluster.
After hitting power on 150 Windows 7 x32 systems, we saw a peak of 39,000 read IO’s per second, over 20,000 IO’s sustained, and the boot storm lasted approximately 5-6 minutes. We saw this while latency remained in the 0.1 to 0.3 ms range.
But here is a take away: If your array’s latency is higher, the IOPs will be lower and the storm will last longer. Nothing wrong with this, just something to think about.
Also, our Windows 7 VMs are very clean. Do you have a lot of start-up apps and background agents in your image? Expect more IOs here in this situation as well as they can explode this requirement as well (sounds like something we need to test in a Phase II of our series?).
WHAT ABOUT UP AND RUNNING?
So you survived the storm, the systems are up, you are napping comfortable in a hammock hidden in a hot isle of the datacenter lulled to sleep by the sounds of the fans humming. The end users are in, and they are hard at work running their normal apps.
What kind of load will you see day in and day out?
Based on the Login VSI Medium workload generator, on 150 desktops, we saw the following:
1700 sustained read IOPs, 1000 sustained write IOPs, for an average of 11 read IOPs per desktop and 7 write IOPs per desktop while running a simulated workload.
But do you know YOUR workload requirements?…do not architect on our numbers…they are interesting and tell a story of how eviL boot storms are and how less painful daily running can be. Yet All applications are different…All end users are different. While multiplication can be your friend to calculate scale, it can be your worst enemy as well since it can multiply error in your numbers as well.
If you are seriously planning on scaling your VDI environment to many MANY end users, you must have a solid understanding of the storage profile first before placing your order for shared storage. Many of the storage vendors I have worked with can take this storage profile information, and with their own sizing tools, scale it appropriate with their arrays various performance enhancing techniques.
This, my friends, will ensure your end users receive the disk IO performance they deserve, your CPU cores spend their time crunching numbers and not idle loops, and your VDI deployment is a success, saving your organization trillions of dollars making you the hero of the company!