From: Jens Axboe <axboe@kernel.dk>
To: Mark Nelson <mark.a.nelson@gmail.com>, Paul Alcorn <paullie1@cox.net>
Cc: 'Mihkal Dunfjeld' <mihkal.dunfjeld@stud.ntnu.no>,
fio@vger.kernel.org, birger.lunstoeng@stud.ntnu.no
Subject: Re: Missing log entries and other questions
Date: Fri, 6 May 2016 11:11:54 -0600 [thread overview]
Message-ID: <572CD05A.6050404@kernel.dk> (raw)
In-Reply-To: <ff3a0354-231b-289c-5748-b9f9463d7ef3@gmail.com>
On 05/05/2016 01:36 PM, Mark Nelson wrote:
>
>
> On 05/04/2016 03:51 PM, Jens Axboe wrote:
>> On 05/04/2016 11:43 AM, Mark Nelson wrote:
>>> On 05/04/2016 11:34 AM, Jens Axboe wrote:
>>>> On 05/04/2016 08:10 AM, Jens Axboe wrote:
>>>>> On 04/27/2016 02:38 PM, Jens Axboe wrote:
>>>>>> I'll try and see if I can reproduce this.
>>>>>
>>>>> So I took a look at your logged output. The way that fio logs is
>>>>> that it
>>>>> does it on IO completion. You have set 1s intervals, so it checks,
>>>>> when
>>>>> an IO completes, if we're due for logging the previous interval IOPS:
>>>>>
>>>>> spent = mtime_since(&td->iops_sample_time, t);
>>>>> if (spent < td->o.iops_avg_time)
>>>>> return;
>>>>>
>>>>> If you are doing lots of IO, it matches pretty evenly. But for slow
>>>>> workloads, it will end up being skewed a bit. It won't be too hard to
>>>>> fix the drift, though, but it still won't make it clock precise at
>>>>> exact
>>>>> 1s intervals.
>>>>>
>>>>> We could move this part into the main thread, and out of the workers.
>>>>> Then we could make it more precise. Might not be a bad idea in
>>>>> general,
>>>>> since it'll move some of this code out of the fast path.
>>>>>
>>>>> I'll take a stab at it.
>>>>
>>>> Can you try the below patch?
>>>
>>> I'll also try to take a look at this as we've seen a fair amount of skew
>>> in the logs doing fio librbd upstream ceph testing.
>>
>> That'd be great. More complete version below, fwiw.
>>
>>> I actually wrote a
>>> first stab at a parser to aggregate logs from multiple fio processes
>>> with the assumption of non-uniform sampling:
>>>
>>> https://github.com/ceph/cbt/blob/master/tools/fiologpaser.py
>>>
>>> The idea is you have say 8 fio bw logs in a directory you can do:
>>>
>>> fiologparser.py -f *bw*
>>>
>>> which will return average values from the logs over user defined
>>> intervals by taking weighted scores from samples that overlap. You can
>>> also look at per-interval averages, sums, or just a global average.
>>>
>>> various option flags:
>>>
>>> -i <interval time in ms>
>>> -d <divide results by d (say if you want a different unit of output)
>>> -f <show full interval data>
>>> -a <show average interval data across logs>
>>> -s <show sums for interval data across logs>
>>
>> That looks useful. Might want to put that in the fio repo as well, if
>> you are interested.
>
> Sure, I'm game. Might be a little buggy and it's definitely slow since
> I just threw it together the other day. Do you have a place in the repo
> you like throwing parsing scripts?
Usually I put them in the tools/ directory.
--
Jens Axboe
next prev parent reply other threads:[~2016-05-06 17:11 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <eBGJ1s00E1TeosZ01BGKGG>
2016-04-26 2:22 ` Missing log entries and other questions Paul Alcorn
2016-04-27 20:38 ` Jens Axboe
2016-05-04 14:10 ` Jens Axboe
2016-05-04 16:34 ` Jens Axboe
2016-05-04 17:43 ` Mark Nelson
2016-05-04 20:51 ` Jens Axboe
2016-05-04 21:30 ` Jens Axboe
2016-05-05 19:33 ` Mark Nelson
2016-05-06 17:11 ` Jens Axboe
2016-05-06 17:16 ` Mark Nelson
2016-05-06 17:18 ` Jens Axboe
2016-05-05 19:36 ` Mark Nelson
2016-05-06 17:11 ` Jens Axboe [this message]
2016-05-06 17:43 ` Mark Nelson
2016-05-06 17:44 ` Jens Axboe
2016-04-04 11:08 Mihkal Dunfjeld
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=572CD05A.6050404@kernel.dk \
--to=axboe@kernel.dk \
--cc=birger.lunstoeng@stud.ntnu.no \
--cc=fio@vger.kernel.org \
--cc=mark.a.nelson@gmail.com \
--cc=mihkal.dunfjeld@stud.ntnu.no \
--cc=paullie1@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.