Merge https://bitbucket.org/vincentfu/fio-steadystate into steady-state-2
[fio.git] / README
diff --git a/README b/README
index 18d1c4fc66215a9eb80f462592b692b1b59a27a7..a8a4fdf3d07960d44c1c7ae8eeff85b3ab2550b0 100644 (file)
--- a/README
+++ b/README
@@ -26,15 +26,16 @@ Snapshots can download from:
 
        http://brick.kernel.dk/snaps/
 
 
        http://brick.kernel.dk/snaps/
 
-There are also two official mirrors. Both of these are synced within
-an hour of commits landing at git.kernel.dk. So if the main repo is
-down for some reason, either one of those is safe to use:
+There are also two official mirrors. Both of these are automatically synced
+with the main repository, when changes are pushed. If the main repo is down
+for some reason, either one of these is safe to use as a backup:
 
        git://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git
        https://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git
 
 or
 
 
        git://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git
        https://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git
 
 or
 
+       git://github.com/axboe/fio.git
        https://github.com/axboe/fio.git
 
 
        https://github.com/axboe/fio.git
 
 
@@ -148,9 +149,9 @@ $ fio
        --parse-only            Parse options only, don't start any IO
        --output                Write output to file
        --runtime               Runtime in seconds
        --parse-only            Parse options only, don't start any IO
        --output                Write output to file
        --runtime               Runtime in seconds
-       --bandwidth-log         Generate per-job bandwidth logs
+       --bandwidth-log         Generate aggregate bandwidth logs
        --minimal               Minimal (terse) output
        --minimal               Minimal (terse) output
-       --output-format=type    Output format (terse,json,normal)
+       --output-format=type    Output format (terse,json,json+,normal)
        --terse-version=type    Terse version output format (default 3, or 2 or 4).
        --version               Print version info and exit
        --help                  Print this page
        --terse-version=type    Terse version output format (default 3, or 2 or 4).
        --version               Print version info and exit
        --help                  Print this page
@@ -168,16 +169,21 @@ $ fio
        --status-interval=t     Force full status dump every 't' period passed
        --section=name          Only run specified section in job file.
                                Multiple sections can be specified.
        --status-interval=t     Force full status dump every 't' period passed
        --section=name          Only run specified section in job file.
                                Multiple sections can be specified.
-       --alloc-size=kb         Set smalloc pool to this size in kb (def 1024)
+       --alloc-size=kb         Set smalloc pool to this size in kb (def 16384)
        --warnings-fatal        Fio parser warnings are fatal
        --max-jobs              Maximum number of threads/processes to support
        --server=args           Start backend server. See Client/Server section.
        --warnings-fatal        Fio parser warnings are fatal
        --max-jobs              Maximum number of threads/processes to support
        --server=args           Start backend server. See Client/Server section.
-       --client=host           Connect to specified backend.
+       --client=host           Connect to specified backend(s).
        --remote-config=file    Tell fio server to load this local file
        --idle-prof=option      Report cpu idleness on a system or percpu basis
                                (option=system,percpu) or run unit work
                                calibration only (option=calibrate).
        --inflate-log=log       Inflate and output compressed log
        --remote-config=file    Tell fio server to load this local file
        --idle-prof=option      Report cpu idleness on a system or percpu basis
                                (option=system,percpu) or run unit work
                                calibration only (option=calibrate).
        --inflate-log=log       Inflate and output compressed log
+       --trigger-file=file     Execute trigger cmd when file exists
+       --trigger-timeout=t     Execute trigger af this time
+       --trigger=cmd           Set this command as local trigger
+       --trigger-remote=cmd    Set this command as remote trigger
+       --aux-path=path         Use this path for fio state generated files
 
 
 Any parameters following the options will be assumed to be job files,
 
 
 Any parameters following the options will be assumed to be job files,
@@ -227,7 +233,7 @@ sections.  The reserved 'global' section is always parsed and used.
 The --alloc-size switch allows one to use a larger pool size for smalloc.
 If running large jobs with randommap enabled, fio can run out of memory.
 Smalloc is an internal allocator for shared structures from a fixed size
 The --alloc-size switch allows one to use a larger pool size for smalloc.
 If running large jobs with randommap enabled, fio can run out of memory.
 Smalloc is an internal allocator for shared structures from a fixed size
-memory pool. The pool size defaults to 1024k and can grow to 128 pools.
+memory pool. The pool size defaults to 16M and can grow to 8 pools.
 
 NOTE: While running .fio_smalloc.* backing store files are visible in /tmp.
 
 
 NOTE: While running .fio_smalloc.* backing store files are visible in /tmp.
 
@@ -311,17 +317,43 @@ to load a local file as well. This is done by using --remote-config:
 
 fio --client=server --remote-config /path/to/file.fio
 
 
 fio --client=server --remote-config /path/to/file.fio
 
-Then the fio server will open this local (to the server) job file instead
+Then fio will open this local (to the server) job file instead
 of being passed one from the client.
 
 of being passed one from the client.
 
+If you have many servers (example: 100 VMs/containers), 
+you can input a pathname of a file containing host IPs/names as the parameter 
+value for the --client option.  For example, here is an example "host.list" 
+file containing 2 hostnames:
+
+host1.your.dns.domain
+host2.your.dns.domain
+
+The fio command would then be:
+
+fio --client=host.list <job file(s)>
+
+In this mode, you cannot input server-specific parameters or job files -- all
+servers receive the same job file.  
+
+In order to let fio --client runs use a shared filesystem 
+from multiple hosts, fio  --client now prepends the IP address of the 
+server to the filename.  For example, if fio is using directory /mnt/nfs/fio 
+and is writing filename fileio.tmp, with a --client hostfile containing 
+two hostnames h1 and h2 with IP addresses 192.168.10.120 and  192.168.10.121,
+then fio will create two files:
+
+       /mnt/nfs/fio/192.168.10.120.fileio.tmp
+       /mnt/nfs/fio/192.168.10.121.fileio.tmp
+
 
 Platforms
 ---------
 
 Fio works on (at least) Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD,
 
 Platforms
 ---------
 
 Fio works on (at least) Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD,
-Windows and FreeBSD.  Some features and/or options may only be available on
-some of the platforms, typically because those features only apply to that
-platform (like the solarisaio engine, or the splice engine on Linux).
+Windows, FreeBSD, and DragonFly. Some features and/or options may only be
+available on some of the platforms, typically because those features only
+apply to that platform (like the solarisaio engine, or the splice engine on
+Linux).
 
 Some features are not available on FreeBSD/Solaris even if they could be
 implemented, I'd be happy to take patches for that. An example of that is
 
 Some features are not available on FreeBSD/Solaris even if they could be
 implemented, I'd be happy to take patches for that. An example of that is