* log_avg_msec does not work for BW or IOPS logs
@ 2012-08-15 3:55 John Williams
2012-08-17 6:22 ` Jens Axboe
0 siblings, 1 reply; 3+ messages in thread
From: John Williams @ 2012-08-15 3:55 UTC (permalink / raw)
To: fio
I'm calling fio v2.0.8 from the command line in linux, and I wanted to
set the averaging time for the log data to 200msec. Here is the
command line I used:
fio --name=SeqWrite --readwrite=write --bs=128K --iodepth=1
--ioengine=libaio --direct=1 --invalidate=1 --output=/tmp/fio_output
--write_bw_log=bw_seq128K --write_lat_log=lat_seq128K
--write_iops_log=iops_seq128K --log_avg_msec=200 --randrepeat=0
--norandommap --offset=0 --size=128035676160 --filename=/dev/sdaa
But when I examined the logs that fio produced, the BW and the IOPS
logs had the default 500msec resolution. But the latency logs had my
requested 200msec resolution.
Is this an fio bug, or did I misunderstand something?
Beginning of BW log:
507, 347392, 1, 0
1009, 335201, 1, 0
1527, 332108, 1, 0
2037, 345349, 1, 0
2540, 333868, 1, 0
3045, 341333, 1, 0
3548, 334533, 1, 0
4053, 333206, 1, 0
4560, 339313, 1, 0
Beginning of IOPS log:
507, 84, 1, 0
1009, 81, 1, 0
1527, 81, 1, 0
2037, 84, 1, 0
2540, 81, 1, 0
3045, 83, 1, 0
3548, 81, 1, 0
4053, 81, 1, 0
4560, 82, 1, 0
Beginning of lat log:
201, 11875, 1, 0
402, 11789, 1, 0
605, 11972, 1, 0
811, 12060, 1, 0
1020, 12341, 1, 0
1223, 11900, 1, 0
1430, 12210, 1, 0
1636, 12131, 1, 0
1842, 12104, 1, 0
2048, 12114, 1, 0
2254, 12105, 1, 0
2462, 12247, 1, 0
2669, 12144, 1, 0
2887, 12843, 1, 0
3090, 11953, 1, 0
3295, 12022, 1, 0
3501, 12128, 1, 0
3707, 12111, 1, 0
3914, 12162, 1, 0
4125, 12429, 1, 0
4331, 12088, 1, 0
4537, 12124, 1, 0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: log_avg_msec does not work for BW or IOPS logs
2012-08-15 3:55 log_avg_msec does not work for BW or IOPS logs John Williams
@ 2012-08-17 6:22 ` Jens Axboe
2012-08-17 7:24 ` John Williams
0 siblings, 1 reply; 3+ messages in thread
From: Jens Axboe @ 2012-08-17 6:22 UTC (permalink / raw)
To: John Williams; +Cc: fio
On 08/15/2012 05:55 AM, John Williams wrote:
> I'm calling fio v2.0.8 from the command line in linux, and I wanted to
> set the averaging time for the log data to 200msec. Here is the
> command line I used:
>
> fio --name=SeqWrite --readwrite=write --bs=128K --iodepth=1
> --ioengine=libaio --direct=1 --invalidate=1 --output=/tmp/fio_output
> --write_bw_log=bw_seq128K --write_lat_log=lat_seq128K
> --write_iops_log=iops_seq128K --log_avg_msec=200 --randrepeat=0
> --norandommap --offset=0 --size=128035676160 --filename=/dev/sdaa
>
> But when I examined the logs that fio produced, the BW and the IOPS
> logs had the default 500msec resolution. But the latency logs had my
> requested 200msec resolution.
>
> Is this an fio bug, or did I misunderstand something?
This is a bit confusing. Basically there are two time settings. One is
for the statistics averaging, the other is when to make an entry in a
log (if that is set). The default for IOPS and BW is to average over
500msec, regardless of logging times. So you would need to add
--iopsavgtime=200 --bwavgtime=200 as well to get the desired behaviour.
--
Jens Axboe
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: log_avg_msec does not work for BW or IOPS logs
2012-08-17 6:22 ` Jens Axboe
@ 2012-08-17 7:24 ` John Williams
0 siblings, 0 replies; 3+ messages in thread
From: John Williams @ 2012-08-17 7:24 UTC (permalink / raw)
To: Jens Axboe; +Cc: fio
On Thu, Aug 16, 2012 at 11:22 PM, Jens Axboe <axboe@kernel.dk> wrote:
> On 08/15/2012 05:55 AM, John Williams wrote:
>> I'm calling fio v2.0.8 from the command line in linux, and I wanted to
>> set the averaging time for the log data to 200msec. Here is the
>> command line I used:
>>
>> fio --name=SeqWrite --readwrite=write --bs=128K --iodepth=1
>> --ioengine=libaio --direct=1 --invalidate=1 --output=/tmp/fio_output
>> --write_bw_log=bw_seq128K --write_lat_log=lat_seq128K
>> --write_iops_log=iops_seq128K --log_avg_msec=200 --randrepeat=0
>> --norandommap --offset=0 --size=128035676160 --filename=/dev/sdaa
>>
>> But when I examined the logs that fio produced, the BW and the IOPS
>> logs had the default 500msec resolution. But the latency logs had my
>> requested 200msec resolution.
>>
>> Is this an fio bug, or did I misunderstand something?
>
> This is a bit confusing. Basically there are two time settings. One is
> for the statistics averaging, the other is when to make an entry in a
> log (if that is set). The default for IOPS and BW is to average over
> 500msec, regardless of logging times. So you would need to add
> --iopsavgtime=200 --bwavgtime=200 as well to get the desired behaviour.
Okay, thanks, that did the trick.
I suggest adding a sentence about that under the "log_avg_msec" entry
in the documentation. Currently it reads:
log_avg_msec=int
By default, fio will log an entry in the iops, latency, or bw
log for every IO that completes. When writing to the disk log,
that can quickly grow to a very large size. Setting this option
makes fio average the each log entry over the specified period
of time, reducing the resolution of the log. Defaults to 0.
I suggest adding something like:
In order to log bw and IOPS with other than the default 500msec
averaging time,
it will also be necessary to set bwavgtime and iopsavgtime.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-08-17 7:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-15 3:55 log_avg_msec does not work for BW or IOPS logs John Williams
2012-08-17 6:22 ` Jens Axboe
2012-08-17 7:24 ` John Williams
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox