Feature #4619

Documentation update request - iozone

Added by eraser - over 7 years ago. Updated almost 4 years ago.

No priority
Estimated time:
Reason for Closing:
Reason for Blocked:
Needs QA:
Needs Doc:
Needs Merging:
Needs Automation:
Support Suite Ticket:
Hardware Configuration:


FreeNAS 9.2 (? I think) enables compression by default on new ZFS pools. Can you update the section of the documentation about performance testing to mention this and how it might affect performance testing?

For example, Section 14.3 could include a suggestion to use the following additional iozone command line parameters which tell it use test data that is not compressible: "-+w 0 -+y 0 -+C 0"


#1 Updated by Dru Lavigne over 7 years ago

If you are familiar with this usage, please create a wiki account and update that page. We'll see the edits go by and can contact you if there are any questions about the edits. Let me know if you have any trouble making a wiki account or editing the page.

#2 Updated by eraser - over 7 years ago

For some reason I didn't think that the PDF documentation was generated from the wiki. I will go and create that wiki account today and make the update.

p.s. How did you reply to this feature request so quickly? :)

#3 Updated by eraser - over 7 years ago

Updated wiki.

#4 Updated by Dru Lavigne over 7 years ago

  • Status changed from Unscreened to Resolved

Thanks! I just happened to see it go by...

Changes look good and will be in the next published PDF. Feel free to update other pages as well.

#5 Updated by eraser - over 7 years ago

Oops, it was discovered that the "-+w 0 -+y 0 -+C 0" options actually result in highly compressible test data.

I have submitted an update to the wiki to remove my incorrect suggestion to use those options.

Sorry all.

#6 Updated by eraser - over 7 years ago

I contacted the ioZone developer. Turns out that there are two issues here:

64-bit builds of ioZone prior to v3.424 have a bug where the "-+w # -+y # -+C #" options generate data that is more compressible then expected. This has been fixed in version 3.424 released on April 9th (yesterday).

ioZone does not consider zero (0) to be a valid parameter for the -+w, -+y, or -+C options. End result is the same as not specifying those options at all.

I updated the wiki to reflect this information.

#7 Updated by Anonymous over 7 years ago

You can also create a dataset, turn off compression in it, and put the test files there.

Compression is a dataset property, not a pool property, and like recordsize is inherited by newly created files.

Using flags to create "uncompressible" streams on a compressible filesystem will distort the test results as iozone will consume excessive CPU generating the data stream. Much easier to just turn off compression if you are not interested in testing it.

#8 Updated by eraser - over 7 years ago

Good point on the ZFS dataset compression propery.

Many SSD drive controllers (such as SandForce) attempt to compress data before writing it to internal flash -- in that case it would still be beneficial to generate and use incompressible test data.

#9 Updated by Anonymous over 7 years ago

Not saying there isn't value, but you have to understand the tradeoffs and what you are actually testing. Uncompressible data though a compressing filesystem onto a compressing device is getting into rare corner cases and worst-worst case performance. You have to be sure that this is important to you and your application before running it.

#10 Updated by eraser - over 7 years ago

Completely agree. I just didn't want people to start running iozone tests without realizing that their ZFS datasets have compression enabled by default. I updated the wiki documentation to also include the suggestion of disabling compression on the ZFS dataset instead.

#11 Updated by Anonymous over 7 years ago

Your edits look good, thanks for updating that! We really should say what FreeNAS version turned on compression by default for new pools, though, since "recent" becomes "ancient" in a couple of years. :)

#12 Updated by eraser - over 7 years ago

Good point, updated wiki to indicate that it was version 9.2.1 of FreeNAS that turned on compression by default.

[ - Turn lz4 compression on by default ]

#13 Updated by Dru Lavigne almost 4 years ago

  • Category set to Documentation
  • Target version set to Master - FreeNAS Nightlies

Also available in: Atom PDF