Server Storage I/O Benchmarking 101 for Smarties or dummies
This is the first of a series of posts and links to resources on server storage I/O performance and benchmarking (view more and follow-up posts here).
The best I/O is the I/O that you do not have to do, the second best is the one with the least impact as well as low overhead.
Drew Robb (@robbdrew) has a Data Storage Benchmarking Guide article over at Enterprise Storage Forum that provides a good framework and summary quick guide to server storage I/O benchmarking.
Via Drew: Data storage benchmarking can be quite esoteric in that vast complexity awaits anyone attempting to get to the heart of a particular benchmark. Case in point: The Storage Networking Industry Association (SNIA) has developed the Emerald benchmark to measure power consumption. This invaluable benchmark has a vast amount of supporting literature. That so much could be written about one benchmark test tells you just how technical a subject this is. And in SNIA’s defense, it is creating a Quick Reference Guide for Emerald (coming soon). But rather than getting into the nitty-gritty nuances of the tests, the purpose of this article is to provide a high-level overview of a few basic storage benchmarks, what value they might have and where you can find out more. Read more here including some of my comments, tips and recommendations. |
Drew's provides a good summary and overview in his article which is a great opener for this first post in a series on server storage I/O benchmarking and related resources.
You can think of this series (along with Drew's article) as server storage I/O benchmarking fundamentals (e.g. 101) for smarties (e.g. non-dummies ).
Note that even if you are not a server, storage or I/O expert, you can still be considered a smarty vs. a dummy if you found the need or interest to read as well as learn more about benchmarking, metrics that matter, tools, technology and related topics.
Server and Storage I/O benchmarking 101
There are different reasons for benchmarking, such as, you might be asked or want to know how many IOPs per disk, Solid State Device (SSD), device or storage system such as for a 15K RPM (revolutions per minute) 146GB SAS Hard Disk Drive (HDD). Sure you can go to a manufactures website and look at the speeds and feeds (technical performance numbers) however are those metrics applicable to your environments applications or workload?
You might get higher IOPs with smaller IO size on sequential reads vs. random writes which will also depend on what the HDD is attached to. For example are you going to attach the HDD to a storage system or appliance with RAID and caching? Are you going to attach the HDD to a PCIe RAID card or will it be part of a server or storage system. Or are you simply going to put the HDD into a server or workstation and use as a drive without any RAID or performance acceleration.
What this all means is understanding what it is that you want to benchmark test to learn what the system, solution, service or specific device can do under different workload conditions.
Some benchmark and related topics include
- What are you trying to benchmark
- Why do you need to benchmark something
- What are some server storage I/O benchmark tools
- What is the best benchmark tool
- What to benchmark, how to use tools
- What are the metrics that matter
- What is benchmark context why does it matter
- What are marketing hero benchmark results
- What to do with your benchmark results
Example of a step test results with various workers and workload
- What do the various metrics mean (can we get a side of context with them metrics?)
- Why look at server CPU if doing storage and I/O networking tests
- Where and how to profile your application workloads
- What about physical vs. virtual vs. cloud and software defined benchmarking
- How to benchmark block DAS or SAN, file NAS, object, cloud, databases and other things
- Avoiding common benchmark mistakes
- Tips, recommendations, things to watch out for
- What to do next
Where to learn more
The following are related links to read more about server (cloud, virtual and physical) storage I/O benchmarking tools, technologies and techniques.
Drew Robb's benchmarking quick reference guide
Server storage I/O benchmarking tools, technologies and techniques resource page
Server and Storage I/O Benchmarking 101 for Smarties.
Microsoft Diskspd download and Microsoft Diskspd overview (via Technet)
I/O, I/O how well do you know about good or bad server and storage I/Os?
Server and Storage I/O Benchmark Tools: Microsoft Diskspd (Part I and Part II)
Wrap up and summary
We have just scratched the surface when it comes to benchmarking cloud, virtual and physical server storage I/O and networking hardware, software along with associated tools, techniques and technologies. However hopefully this and the links for more reading mentioned above give a basis for connecting the dots of what you already know or enable learning more about workloads, synthetic generation and real-world workloads, benchmarks and associated topics. Needless to say there are many more things that we will cover in future posts (e.g. keep an eye on and bookmark the server storage I/O benchmark tools and resources page here).
Ok, nuff said, for now...
Cheers gs