Microsoft storage spaces direct is an IO performance beast

Tony Ansley | September 2017

In preparation for this year’s Microsoft Ignite show (Micron is a sponsor of the event), my team has been running tests using the early builds of Microsoft’s Fall Update 2017 of Server Core. In particular, we are very interested in the performance of the Storage Spaces Direct (S2D) functionality and how well it performs with solid-state media such as our Micron 5100 SATA SSDs.

Based on our experience so far – we will re-evaluate once S2D is released later this year – S2D is a real IO performance beast. We released a technical brief that documents our initial results and they were truly unexpected based on our experience with various other hyper-converged software defined storage solutions we have tested. Small block (4KiB), random IO – commonly used to represent enterprise OLTP-like data center applications – showed excellent IO performance across a wide variety of queue depths and across a wide variety of read/write ratios typically used in the benchmarking industry (See chart below). A typical OLTP workload will operate in the 70/30 read/write ratio area and using these parameters we attained well over 600,000 IOPs using 32 SATA SSDs distributed across a 4-node Hyper-V cluster. That number is what was measured at the VM server layer. Our test configuration used triple mirroring as the data protection scheme, so that 600,000 IOPs translates to around 1,000,000 IOPs at the device level1! With 32 SSDs in the cluster, this results in over 31,000 IOPs mixed load per SSD.

graph comparing small block random IO profile

If you would like to learn more about our experiences to date with S2D and Micron SSDs, download the technical brief and if you are attending Microsoft Ignite in Orlando, Fla., stop by the Micron booth where we can talk more in-depth about what we have already accomplished and what our plans are for S2D projects soon.

See you at Ignite!

1 Triple mirrors require 3 SSD level writes for each VM level write. A 70% read, 30% write VM IO workload would thus result in (0.3 x Measured IOPS) x 3 + (0.7 x Measured IOPS) SSD level IOPs workload. So, our 624,000 IOPS would = (0.3 x 624,000) x 3 + (0.7 x 624,000) = 561,600 + 436,800 = 998,400 IOPs at the SSD interfaces.

Principal Technical Marketing Engineer, SBU

Tony Ansley

Tony is a 34-year technology leader in server architectures and storage technologies and their application in meeting customer’s business and technology requirements. He enjoys fast cars, travel, and spending time with family — not necessarily in that order.