SNIA IOPS TESTING
The Storage Networking Industry Association has an entire industry accepted performance test specification for solid state storage devices. Some of the tests are complicated to perform, but they allow us to look at some important performance metrics in a standard, objective way.
Click to enlarge!
SNIAs performance test specifications include IOPS testing, but its not quite what youre expecting. Its composed of 25 rounds of testing, each round taking 56 minutes to complete. We measure IOPS at 8 different block sizes (512 bytes through 1 MB) at 7 different read/write mixes. From 100% read to 0% read (thats 100% write) and five more mixes in between. Once the 25 rounds are finished (at just under 24 hours), we evaluate the average performance of four of the 25 rounds once steady state is achieved. We can look at the resulting data in different ways, but the column chart you see above is a great indicator of performance.
You can take a closer look at the above graph by clicking on it; 100% read is at the top, 100% write is at the bottom. Block sizes increase from 512 bytes on the left to 1MB on the right. Its a lot to take in, but the results of this one test can predict the way the drive performs in nearly every other test.
- Preconditioning: 2x capacity fill with 128K sequential writes
- Each round is composed of .5K, 4K, 8K, 16K, 32K, 64K, 128K, and 1MB accesses
- Each access size is run at 100%, 95%, 65%, 50%, 35%, 5%, and 0% Read/Write Mixes, each for one minute.
- The test is composed of 25 rounds (one round takes 56 minutes, 25 rounds = 1,400 minutes)
This is the same chart as above, but rendered in a surface chart and not a column. Its great for getting a feel for strengths and weaknesses, and for nearly all drives, reads are prominent. Going towards the back-left corner, IOPS increase. Head towards the bottom right, and IOPS diminish greatly. If we were to show this graph in terms of MB/s and not IOPS though, it would look much flatter.
If you were wondering what one round looks like, here is the last one, round 25. Each of the 56 individual tests are listed here.
The IOPS loop workload is complex and repeating, yielding interesting results for different drives. This chart represents all of the 0% read/100% write tests for each of the 25 rounds.
If you’re not pounding the Inel DC S3700 SSD with a specific, write intensive workload, it recovers lickity-split. Only 7 of the 56 minutes that composes each round is actually 100% writes (or 0% reads). In the end, peppering the drive with larger block sizes and lighter writes cleans up the drive in a hurry. The 200GB shown here starts off at 32,000 4K IOPS like it should, but within 3 rounds gets back up to nearly new numbers.