What ScaleIO is and how it works has been covered in earlier blog posts here, here, here and here, and this post is a follow-up with some of the performance testing we did with Microsoft SQL server on top of ScaleIO in a VMware environment.
We used the ScaleIO setup described earlier in this post, and we wanted to see how well the ScaleIO storage solution worked with a non-scale-out application workload such as Microsoft SQL server. The setup of the MSSQL servers looked like this:
To run the tests we used TPC to generate a workload on the four MSSQL servers we had set up. We started with having these SQL servers on a VNX, in a mixed storage pool with some other VM running as well. A normal situation in many aspects, and we wanted to see what would happen if we moved those SQL workloads to a separate environment. We expected increased performance of course, and that’s exactly what we got!
The picture above shows the Disk reads/sec (thick black line) that we had during the TPC tests. The left part is when we were running on the VNX with _one_ MSSQL workload, the right shows it running on ScaleIO with _four_ simultaneous workloads! So yes, we’re not comparing apples to apples, but rather showing what you can expect when moving to a ScaleIO environment.
This second picture shows the Disk latency, once again with one workload on the VNX to the left and four workloads on ScaleIO to the right. Even though we added more workloads the latency numbers were still really good. Pretty cool, right?!
Here’s the ScaleIO dashboard during the test of four SQL servers running the TPC workload, showing a consistent 45000 IOPS being handled by the underlying storage infrastructure:
So not only did we drastically increase the amount of data that could be handled, being able to add more MSSQL servers, we also lowered the latency so much that we could actually run even more work on these nodes. The test was based on 40 users per SQL instance, and we see here that we could easily increase that when running on top of ScaleIO. This means you can easily migrate from an existing environment to ScaleIO using VMware Storage VMotion, and do some testing on your own 🙂
In conclusion, a properly architected ScaleIO platform will provide similar and likely better throughput and latency performance compared to traditional storage. The ScaleIO architecture keeps your data closer to your processor while leveraging high performance SSD and in our test case PCIe flash cards for optimal performance.
So, what workloads would you like to run on ScaleIO? Add your wish list below in the comment field!