fio

Software Screenshot:
fio
Software Details:
Version: 2.1.4
Upload Date: 19 Feb 15
Developer: Jens Axboe
Distribution Type: Freeware
Downloads: 77

Rating: 2.0/5 (Total Votes: 2)

fio is an I/O tool meant to be used both for benchmark and stress/hardware verification.

fio supports for 4 different types of I/O engines: sync, mmap, libaio, posixaio, rate I/O, I/O priorities, forked or threaded jobs, and much more.

Options:

 fio

-s IO is sequential
-b block size in KiB for each io
-t < sec > Runtime in seconds
-r For random io, sequence must be repeatable
-R < on > If one thread fails to meet rate, quit all
-o < on > Use direct IO is 1, buffered if 0
-l Generate per-job latency logs
-w Generate per-job bandwidth logs
-f < file > Read < file > for job descriptions


Examples using a job file:

A sample job file doing the same as above looks like this:

[read_file]
rw=0
bs=4096

[write_file]
rw=1
bs=16384


And fio would be invoked as:

 fio -o1 -s -f file_with_above

The second example would look like this:

[rf1]
rw=0
prio=6

[rf2]
rw=0
prio=3

[rf3]
rw=0
prio=0
direct=1


And fio would be invoked as:

 fio -o0 -s -b4096 -f file_with_above

What is new in this release:

  • Adds JSON output for client/server.
  • A fix for Windows build breakage in the previous release.
  • A fix for ioengine specific options.
  • Adds support for O_ATOMIC atomic writes on Linux.
  • A failsafe check for realloc() failure during logging.
  • A fix for a Solaris thread problem.
  • Various man page and documentation updates.
  • A fix for a crash on PowerPC without the mfspr instruction.

What is new in version 2.1.2:

  • This version adds basic support for an ACT (aerospike) profile, fixes atomic write support, adds various parsing fixes, makes a big revamp of the included graphing support, makes the IOPS log includes bandwidth, adds support for specific randomness settings for both reads and writes, adds support for random vs. sequential blocksize settings, fixes a potential verification failure, and adds multicast support for the net ioengine.

What is new in version 2.1:

  • Integration of the gfio GTK frontend. Better Android integration.
  • The initial file fill honors data compression settings.
  • An option for controlling randomness of I/O (percentage_random) instead of being fully random or fully sequential.
  • Fixes a bug in uneven pattern sizes for verification.
  • Various other important fixes.

What is new in version 2.0.15:

  • This version adds an --eta-newline option to insert ETA new line at fixed intervals.
  • Fixes for the CPU clock, notably PPC. Fixes for workloads with read/write file locking.
  • A fix for skewed latencies with rated IOPS.
  • Fixes a bug with block sizes varying more than 64x.
  • Improves the LFSR implementation.
  • Fixes missing JSON bandwidth output.
  • Various fixes for the Android platform.
  • Uses ginstall on Solaris.
  • Fixes man page installation.
  • Other bugfixes and improvements.

What is new in version 2.0.14:

  • Autodetect features with a new configure script when building.
  • Improve ETA for some workloads.
  • Support for verify mode that requires no metadata, greatly reducing memory requirements for big device verify workloads.
  • Ensures fsync is always done, even for direct/raw I/O (if asked to).
  • Support for unified read/write/trim reporting.
  • A few axmap and cpuclock bugfixes.
  • Fixes zones and numjobs used together.
  • Adds support for idle profiling, showing idle system CPU when running a workload.
  • Various Windows fixes.
  • FreeBSD now supports CPU affinities.
  • Many other fixes; all users should upgrade.

What is new in version 2.0.13:

  • A few build issues were fixed on a few select platforms, where issues with CC override or missing CPU clock support would break compilation.
  • Setting of size= for zipf/pareto workloads was fixed.
  • Floating math for CPU clock was sped up and improved, further reducing overhead.
  • A potential null pointer dereference on IO verification and requeue events was fixed.

What is new in version 2.0.10:

  • Support for trim as a primary IO directive, the addition of the JSON output format for easy parsing by both humans and computers, and fixes for a Solaris compilation error, gettid on NetBSD, Windows XP/2003 compatibility, engine starvation for extraordinarily long latencies, and fallocate(), netio compatibility, and support for SIGBREAK.
  • The critical error list is now configurable.
  • Three new IO engines were provided: falloc, e4defrag, and Fusion-io atomic write engine.
  • A new sample job file was provided for SSD steady state performance.
  • A segfault race on exit on non-Linux platforms was fixed.
  • There were various other bugfixes and improvements.

What is new in version 2.0.9:

  • A slew of Windows fixes, making the POSIX bits more complete.
  • A fix for premature freeing of disk utilization structures, and missing locking of the same.
  • fio dumps current progress if sent a USR1 signal.
  • Includes git version in version output.
  • A fix for a crash with more than ~500 jobs.
  • Man page updates.
  • A fix for wrap-around behavior for time-based sequential read jobs.
  • A fix for a "file hash not empty" warning on blktrace replay.
  • A fix for compilation on the MIPS architecture.
  • Improved display of commit-rate while running.
  • A fix for fallocate failing on some Linux systems.
  • Includes an end-of-run timestamp in output.

What is new in version 2.0.6:

  • A new offset_increment option to more easily be able to have different threads use different regions of a file/device.
  • A new buffer_compression_percentage option enabling the user to specify the compression ratio to expect from the data written by fio.
  • A fix for a segfault caused by invalid verification job files.
  • A few client/server bugfixes.
  • A fix for a bug that caused early termination of fio with verify_backlog.
  • A fix for a problem with iodepth_batch_complete=0 and accounting.
  • Enables read/write sequential offset to be a non-multiple of the block size.

Similar Software

M3CCtl
M3CCtl

3 Jun 15

PyProxyFS
PyProxyFS

11 May 15

Parrot and Chirp
Parrot and Chirp

19 Feb 15

incron
incron

14 Apr 15

Comments to fio

Comments not found
Add Comment
Turn on images!