One of Nutanix partners (DH Technologies) created this video below demonstrating a Nutanix block with 4 nodes pushing almost half-million IOPS (483,492 IOps). This is over 120,000 IOps per node, potentially achieving astonishing 3.8 million IOPs in a 32 node cluster without the help of expensive PCIe flash devices like FusionIO or LSI Nytro WarpDrive, and potentially getting up to tens of millions of IOPs since there’s no theoretical limits for the Nutanix cluster size.
This is more IOPs per-node than a EMC VNX-7500 series will push for an entire array; or more than a EMC V-MAX platform will be able to push if we have only two Nutanix blocks. Also, more than any other SAN will be able to provide due to bottlenecks given the limited storage controller architecture. Nutanix storage controllers scale-out along with the cluster, not running into bottlenecks.
It all sounds music to my ears, except because of a little very important caveat. The workload has been crafted as 100% read IO with 4Kb blocks, and the working set is only large enough to fit into Nutanix caching tier.
Purposely, most architecture documents, white papers or benchmarks published by most of the vendors will demonstrate their performances in the way that best suits their platforms, and always achieving numbers that will blow you away!
The very important point that I want to make in this article is so you know the next time you see a vendor saying that they can achieve 500,000, 2 million or 5 million IOps you should not trust them! At least, not until before you see and understand how exactly those numbers were generated. This is also valid for other scale-out solution!
Getting the right storage workload requirements can be very difficult. The reason for that is the lack of information about your real production workload; and I guarantee it’s not 100% read with 4Kb blocks.
If you do not have information about your workload or if it’s a new working set it is possible to use some pre-trended baseline numbers, but this would be only an indication to what the workload would likely be. It could be a point out of the curve in many cases.
One of the most important items beyond the number of IOPs is the read and write IO pattern. The Read/Write ratio used determine how many spindles would be required to support the workload in a RAID configuration type ‘x’. Nutanix doesn’t have the concept of RAID groups because read IOs will frequently come from RAM or local SSD due to data locality concepts, while write IOs will always go to the local SSD and to n additional hosts depending on the replication factor (I will write more about that in the future).
Here are two good article by Josh Odgers describing Nutanix data locality concepts:
- Data Locality & Read Cache – Why it’s critical for high performance View environments – Part 1 (Josh Odgers)
- Data Locality & Read Cache – Why it’s critical for high performance View environments – Part 2 (Josh Odgers)
Ultimately, this video is very cool to watch! But again, be aware that this is only a workload demonstration that is unlikely to have any similarity to real workloads. Also, it’s interesting how easy it is to mislead and drag attention to an article just using titles ala ‘The Register‘.
Thanks to DH Technologies for providing this!
This article was first published by Andre Leibovici (@andreleibovici) at myvirtualcloud.net