To specifically measure latency, we use a series of 512b, 4K, and 8K measurements. Each blocksize latency is measured for 100% read, 65% read/35% write, and 100% write/0% read mixes.
Average latencies are quite nice down at QD1. 512 byte accesses usually range from somewhat to much worse, merely because they’re not 4K aligned by their very nature. 4K read latency is below .15ms, while 4K write latency is below .050ms.
Out of all the input/outputs accrued over the testing period, the transactions with the highest latency are shown here. In a worse case scenario, QD 1 maximum latency can reach almost 20,000 microseconds, or 20ms for 8K 65% reads. Mixed workloads usually generate the worst maximum latency anyway, but exclusive reads almost always have the best.
ADVANCED WRITE TESTING
Because of the nature of solid state storage, once the drive gets filled, write speed takes a precipitous plunge. We can take a fresh drive and write 4K randoms to it for 300 minutes to see what happens.
To get a feel for the write saturation performance with random and repeating data, we run the testing twice. One multi-hour run with zero fill data, and one using random/incompressible data. The lower performance a drive experiences when filled is due to write amplification. As the drive struggles to free up blocks to write to, tons of additional overhead is incurred
As with previous SandForce-wielding SSDs, we run the write saturation testing twice, once with incompressible and once with easily compressible data. Once again, if you know your workload happens to be easily compressible and write-heavy, there isn’t a reason to choose anything else. The incompressible run (shown in green) begins just shy of 60,000 IOPS, and drops down to 57K a few minutes later. Once the drive is filled around 45 minutes
SF drives have max and sustained IOP ratings which can differ dramatically in consumer-oriented drives, or not very much in enterprise drives. Still, the peak and sustained numbers in the E100’s case do differ, if only slightly.
How long does it take to fill the drive once with QD32 4K random writes? Just about 25 minutes. And once that happens, latency balloons from a respectable .7ms to 4ms. While avg drifts higher, it’s still an acceptable number. The extra overprovisioning helps keep write amplification in check, resulting in more transactions per second once the drive is filled, and consequently, lower write amplification and latency. Cleaning up dirty blocks is easier, tacking on less time to write operations.
If you refer to the write saturation test above, you’ll notice that the run with incompressible data bottoms out around the 9,000 IOP mark. Now, look at the stability chart for the 0% Read (100% write) test denoted by blue neon markers. The average is about the same, but looking at the test in finer increments shows much more variance. On a second by second basis, the results can be as low as 6,000 IOPS or as high as 20,000. The 70%/30% split shows even more variance from one moment to the next. Less variance is preferable to more variance, meaning tighter groups are better. We won’t bore you with the statistical analysis, since your eyes will tell you everything you need to know.