X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=HOWTO;h=d3639fb487d2c3fa206b1789ad59132e12e83e0c;hp=b284c428dd80bad0ecdaf42c3bbfe378e5ddad13;hb=5e0baa7f423995c4f75070d6a2ee56619e195a36;hpb=d66672686baf3834f5135804f89c8e3f4aed0f79 diff --git a/HOWTO b/HOWTO index b284c428..d3639fb4 100644 --- a/HOWTO +++ b/HOWTO @@ -313,13 +313,30 @@ rw=str Type of io pattern. Accepted values are: For the mixed io types, the default is to split them 50/50. For certain types of io the result may still be skewed a bit, since the speed may be different. It is possible to specify - a number of IO's to do before getting a new offset - this - is only useful for random IO, where fio would normally - generate a new random offset for every IO. If you append - eg 8 to randread, you would get a new random offset for + a number of IO's to do before getting a new offset, this is + one by appending a ':' to the end of the string given. + For a random read, it would look like 'rw=randread:8' for + passing in an offset modifier with a value of 8. See the + 'rw_sequencer' option. + +rw_sequencer=str If an offset modifier is given by appending a number to + the rw= line, then this option controls how that + number modifies the IO offset being generated. Accepted + values are: + + sequential Generate sequential offset + identical Generate the same offset + + 'sequential' is only useful for random IO, where fio would + normally generate a new random offset for every IO. If you + append eg 8 to randread, you would get a new random offset for every 8 IO's. The result would be a seek for only every 8 IO's, instead of for every IO. Use rw=randread:8 to specify - that. + that. As sequential IO is already sequential, setting + 'sequential' for that would not result in any differences. + 'identical' behaves in a similar fashion, except it sends + the same offset 8 number of times before generating a new + offset. kb_base=int The base unit for a kilobyte. The defacto base is 2^10, 1024. Storage manufacturers like to use 10^3 or 1000 as a base @@ -969,6 +986,31 @@ read_iolog=str Open an iolog with the specified file name and replay the for how to capture such logging data. For blktrace replay, the file needs to be turned into a blkparse binary data file first (blkparse -o /dev/null -d file_for_fio.bin). + +replay_no_stall=int When replaying I/O with read_iolog the default behavior + is to attempt to respect the time stamps within the log and + replay them with the appropriate delay between IOPS. By + setting this variable fio will not respect the timestamps and + attempt to replay them as fast as possible while still + respecting ordering. The result is the same I/O pattern to a + given device, but different timings. + +replay_redirect=str While replaying I/O patterns using read_iolog the + default behavior is to replay the IOPS onto the major/minor + device that each IOP was recorded from. This is sometimes + undesireable because on a different machine those major/minor + numbers can map to a different device. Changing hardware on + the same system can also result in a different major/minor + mapping. Replay_redirect causes all IOPS to be replayed onto + the single specified device regardless of the device it was + recorded from. i.e. replay_redirect=/dev/sdc would cause all + IO in the blktrace to be replayed onto /dev/sdc. This means + multiple devices will be replayed onto a single, if the trace + contains multiple devices. If you want multiple devices to be + replayed concurrently to multiple redirected devices you must + blkparse your trace into separate traces and replay them with + independent fio invocations. Unfortuantely this also breaks + the strict time ordering between multiple device accesses. write_bw_log=str If given, write a bandwidth log of the jobs in this job file. Can be used to store data of the bandwidth of the @@ -1214,26 +1256,35 @@ For scripted usage where you typically want to generate tables or graphs 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;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% +2;card0;0;0;7139336;121836;60004;1;10109;27.932460;116.933948;220;126861;3495.446807;1085.368601;226;126864;3523.635629;1089.012448;24063;99944;50.275485%;59818.274627;5540.657370;7155060;122104;60004;1;8338;29.086342;117.839068;388;128077;5032.488518;1234.785715;391;128085;5061.839412;1236.909129;23436;100928;50.287926%;59964.832030;5644.844189;14.595833%;19.394167%;123706;0;7313;0.1%;0.1%;0.1%;0.1%;0.1%;0.1%;100.0%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.01%;0.02%;0.05%;0.16%;6.04%;40.40%;52.68%;0.64%;0.01%;0.00%;0.01%;0.00%;0.00%;0.00%;0.00%;0.00% +A description of this job goes here. + +The job description (if provided) follows on a second line. -To enable terse output, use the --minimal command line option. +To enable terse output, use the --minimal command line option. The first +value is the version of the terse output format. If the output has to +be changed for some reason, this number will be incremented by 1 to +signify that change. Split up, the format is as follows: - jobname, groupid, error + version, jobname, groupid, error READ status: KB IO, bandwidth (KB/sec), runtime (msec) Submission latency: min, max, mean, deviation Completion latency: min, max, mean, deviation + Total latency: min, max, mean, deviation Bw: min, max, aggregate percentage of total, mean, deviation WRITE status: KB IO, bandwidth (KB/sec), runtime (msec) Submission latency: min, max, mean, deviation Completion latency: min, max, mean, deviation + Total latency: min, max, mean, deviation Bw: min, max, aggregate percentage of total, mean, deviation CPU usage: user, system, context switches, major faults, minor faults IO depths: <=1, 2, 4, 8, 16, 32, >=64 - IO latencies: <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, >=2000 - Text description - + IO latencies microseconds: <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000 + IO latencies milliseconds: <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, >=2000 + Additional Info (dependant on continue_on_error, default off): total # errors, first error code + + Additional Info (dependant on description being set): Text description \ No newline at end of file