X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=HOWTO;h=ec4f3e21170a49a0cbae4a26571739f36c1e0d6a;hp=de4b0a9932b43f207260a569a5e33349efebc63b;hb=ebb1415f729c123b8a13bcbd667bf4b4cc95b4d4;hpb=c6441dc9e95cba2a31dec63272917fdf496c75c4 diff --git a/HOWTO b/HOWTO index de4b0a99..ec4f3e21 100644 --- a/HOWTO +++ b/HOWTO @@ -205,7 +205,11 @@ filename=str Fio normally makes up a filename based on the job name, files between threads in a job or several jobs, specify a filename for each of them to override the default. If the ioengine used is 'net', the filename is the host and - port to connect to in the format of =host:port. + port to connect to in the format of =host/port. If the + ioengine is file based, you can specify a number of files + by seperating the names with a ':' colon. So if you wanted + a job to open /dev/sda and /dev/sdb as the two working files, + you would use filename=/dev/sda:/dev/sdb rw=str Type of io pattern. Accepted values are: @@ -253,6 +257,23 @@ bs_unaligned If this option is given, any byte size value within bsrange nrfiles=int Number of files to use for this job. Defaults to 1. +openfiles=int Number of files to keep open at the same time. Defaults to + the same as nrfiles, can be set smaller to limit the number + simultaneous opens. + +file_service_type=str Defines how fio decides which file from a job to + service next. The following types are defined: + + random Just choose a file at random. + + roundrobin Round robin over open files. This + is the default. + + The string can have a number appended, indicating how + often to switch to a new file. So if option random:4 is + given, fio will switch to a new random file after 4 ios + have been issued. + ioengine=str Defines how the job issues io to the file. The following types are defined: @@ -285,10 +306,21 @@ ioengine=str Defines how the job issues io to the file. The following net Transfer over the network to given host:port. 'filename' must be set appropriately to - filename=host:port regardless of send + filename=host/port regardless of send or receive, if the latter only the port argument is used. + cpu Doesn't transfer any data, but burns CPU + cycles according to the cpuload= and + cpucycle= options. Setting cpuload=85 + will cause that job to do nothing but burn + 85% of the CPU. + + external Prefix to specify loading an external + IO engine object file. Append the engine + filename, eg ioengine=external:/tmp/foo.o + to load ioengine foo.o in /tmp. + iodepth=int This defines how many io units to keep in flight against the file. The default is 1 for each file defined in this job, can be overridden with a larger value for higher @@ -326,6 +358,10 @@ overwrite=bool If writing to a file, setup the file first and do overwrites. end_fsync=bool If true, fsync file contents when the job exits. +fsync_on_close=bool If true, fio will fsync() a dirty file on close. + This differs from end_fsync in that it will happen on every + file close, not just at the end of the job. + rwmixcycle=int Value in milliseconds describing how often to switch between reads and writes for a mixed workload. The default is 500 msecs. @@ -483,7 +519,15 @@ stonewall Wait for preceeding jobs in the job file to exit, before numjobs=int Create the specified number of clones of this job. May be used to setup a larger number of threads/processes doing - the same thing. + the same thing. We regard that grouping of jobs as a + specific group. + +group_reporting If 'numjobs' is set, it may be interesting to display + statistics for the group as a whole instead of for each + individual job. This is especially true of 'numjobs' is + large, looking at individual thread/process output quickly + becomes unwieldy. If 'group_reporting' is specified, fio + will show the final report per-group instead of per-job. thread fio defaults to forking jobs, however if this option is given, fio will use pthread_create(3) to create threads @@ -648,10 +692,11 @@ util= The disk utilization. A value of 100% means we kept the disk ---------------- For scripted usage where you typically want to generate tables or graphs -of the results, fio can output the results in a comma separated format. +of the results, fio can output the results in a semicolon separated format. The format is one long line of values, such as: -client1,0,0,936,331,2894,0,0,0.000000,0.000000,1,170,22.115385,34.290410,16,714,84.252874%,366.500000,566.417819,3496,1237,2894,0,0,0.000000,0.000000,0,246,6.671625,21.436952,0,2534,55.465300%,1406.600000,2008.044216,0.000000%,0.431928%,1109 +client1;0;0;1906777;1090804;1790;0;0;0.000000;0.000000;0;0;0.000000;0.000000;929380;1152890;25.510151%;1078276.333333;128948.113404;0;0;0;0;0;0.000000;0.000000;0;0;0.000000;0.000000;0;0;0.000000%;0.000000;0.000000;100.000000%;0.000000%;324;100.0%;0.0%;0.0%;0.0%;0.0%;0.0%;0.0%;100.0%;0.0%;0.0%;0.0%;0.0%;0.0% +;0.0%;0.0%;0.0%;0.0%;0.0% Split up, the format is as follows: @@ -667,4 +712,7 @@ Split up, the format is as follows: Completion latency: min, max, mean, deviation Bw: min, max, aggregate percentage of total, mean, deviation CPU usage: user, system, context switches + IO depths: <=1, 2, 4, 8, 16, 32, >=64 + IO latencies: <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, >=2000 + Text description