block device statistics question
From: Andrey Borzenkov
Date: Tue May 13 2008 - 13:16:56 EST
May I ask for clarification of block device stats meaning.
I am interested in basically two times - how long IO request has been
processed (i.e. from the very beginning it has been submitted till it was
finished) as well as how long *device* needed to process request passed to
it.
/sys/block/XXX/stat provides three set of timings:
read ticks, write ticks
io_ticks
time_in_queue
From the description in Documentation/block/stat.txt it is not exactly clear
what is counted.
read ticks, write ticks
=======================
These values count the number of milliseconds that I/O requests have
waited on this block device.
Q. Waited since which point? From the point request entered block subsystem
or from the point request has been submitted to physical device (well,
not necessarily really physical of course)
io_ticks
========
This value counts the number of milliseconds during which the device has
had I/O requests queued.
Q. "queued" - means "waited for submission"? I.e. this time does not include
actual IO processing by device? Or "queued" - submitted to device?
time_in_queue
=============
This value counts the number of milliseconds that I/O requests have waited
on this block device.
Q. What is the difference between this one and read/write ticks? It really
sounds like time_in_queue == read ticks + write ticks? In this case what is
the point in making it separate?
TIA
-andrey
Attachment:
signature.asc
Description: This is a digitally signed message part.