microsoft / StorScore

A test framework to evaluate SSDs and HDDs
http://aka.ms/storscore
MIT License
79 stars 40 forks source link

4K Read and Write recipes #39

Open jetOak opened 7 years ago

jetOak commented 7 years ago

I've been running the StorScore 4K Read and Write recipes on various drives and comparing the results to those generated by FIO. I have noticed that while the 4K Write IOPS results produced by StorScore and FIO tend to be similar to each other and both are similar to the published performance data I have for the drives I am benchmarking the 4K Read IOPS results for StorScore tend to be significantly lower than those produced by FIO or found in published data for the drives I am using. Is there any obvious reason for this discrepancy? The 4K Read recipe itself does not seem to show anything that explain the significant difference in results that I am seeing.

marksantaniello commented 7 years ago

queue depth?

marksantaniello commented 7 years ago

Our 4k_RR recipe uses QD=1: https://github.com/Microsoft/StorScore/blob/master/recipes/4k_RR.rcp#L34

lauracaulfield commented 7 years ago

Thanks for exploring this comparison. You may find other differences if you strip down to the command line StorScore issues to diskspd. For example, we're also careful with caching flags. The diskspd command line is printed as the first line in the file whose name begins with "test."

marksantaniello commented 7 years ago

Yeah caching is another possible one. In general the philosophy behind StorScore was to be pretty conservative. The fact that FIO matches "published performance data" makes me trust StorScore even more :)

jetOak commented 7 years ago

Most drive manufacturers tend to use either FIO or IOmeter to benchmark their drives so it isn't surprising that their published data matches results produced by either benchmarking program. Thank you for the information regarding your benchmarking methodology.