Messages in this thread | | | From | Andrey Borzenkov <> | Subject | block device statistics question | Date | Tue, 13 May 2008 19:50:10 +0400 |
| |
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 [unhandled content-type:application/pgp-signature] | |