All of lore.kernel.org
 help / color / mirror / Atom feed
* New tools and changes
@ 2014-09-27 20:03 Jens Axboe
  2014-09-27 20:39 ` Jens Axboe
  0 siblings, 1 reply; 2+ messages in thread
From: Jens Axboe @ 2014-09-27 20:03 UTC (permalink / raw)
  To: fio

Hi,

I have committed a few new tools to the fio repo, and enabled the 
building of these tools (and the older ones) by default now. Previously, 
you'd have to do

$ make t/<toolname>

manually to build them, that is no longer the case. Anyway, the new 
tools are:

t/dedupe: this is a dedupe checker. You run this on a device or a file, 
and it will tell you how well the blocks on that device will dedupe. The 
block size defaults to 4KB, but can be set to anything you wish. By 
default this will use a bloom filter, which (for my testing) is within 
1% or better of the actually fully tracked check. You can do a full 
check with -B0 to turn off the bloom, however that can consume large 
amounts of memory on larger devices. If you are truly paranoid, there's 
a -c option as well to do full checking in case there are checksum 
collisions. The checksum used is md5. The output looks like this:

axboe@nelson:/home/axboe/git/fio $ sudo t/dedupe /dev/sda5
Will check </dev/sda5>, size <49999249408>, using 8 threads
Threads(8): 12206848 items processed
Extents=12206848, Unique extents=1625328
De-dupe ratio: 1:6.51
Fio setting: dedupe_percentage=87

dedupe will default to using as many threads as there are CPUs in the 
system, to speed things up. This is also settable. dedupe will also give 
you the fio setting to use to create a write workload with similar 
dedupability. The dedupe_percentage is a new option that allows you to 
set that.

t/btrace2fio: this is a tool that takes a blkparse binary dump and 
generates a fio job file matching that dump. This tools needs a bit more 
development effort, and I'd welcome people joining in and helping out. 
Right now it figures out the queue depth, read vs write mix, block size 
distribution, etc. It makes no attempt to collapse identical threads 
into one job with numjobs=x for readability, however.

I should write up some documentation for these tools, and will do so in 
the not-so-distant future. The dedupe tool probably needs a bit of error 
checking and handling and option range checking, but apart from that, 
it's mostly done. The btrace2fio tool is a bit more rough around the 
edges. I'd welcome feedback, suggestions, improvements for both, as usual.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-09-27 20:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-27 20:03 New tools and changes Jens Axboe
2014-09-27 20:39 ` Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.