iostat - diskstats

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
thonix
Beiträge: 64
Registriert: 28.12.2003 02:03:38

iostat - diskstats

Beitrag von thonix » 01.08.2006 01:14:23

Hallo zusammen,

ich beschäftige mich gerade mit dem Thema Diskperformance. Wie ich festgestellt habe kommt man da beim 2.6er Kernel nicht an der Datei /proc/diskstats vorbei.

In der Kernel Doku findet man zu dem Inhalt auch was:

Code: Alles auswählen

<snap>
Field  1 -- # of reads issued
    This is the total number of reads completed successfully.
Field  2 -- # of reads merged, field 6 -- # of writes merged
    Reads and writes which are adjacent to each other may be merged for
    efficiency.  Thus two 4K reads may become one 8K read before it is
    ultimately handed to the disk, and so it will be counted (and queued)
    as only one I/O.  This field lets you know how often this was done.
Field  3 -- # of sectors read
    This is the total number of sectors read successfully.
Field  4 -- # of milliseconds spent reading
    This is the total number of milliseconds spent by all reads (as
    measured from __make_request() to end_that_request_last()).
Field  5 -- # of writes completed
    This is the total number of writes completed successfully.
Field  7 -- # of sectors written
    This is the total number of sectors written successfully.
Field  8 -- # of milliseconds spent writing
    This is the total number of milliseconds spent by all writes (as
    measured from __make_request() to end_that_request_last()).
Field  9 -- # of I/Os currently in progress
    The only field that should go to zero. Incremented as requests are
    given to appropriate request_queue_t and decremented as they finish.
Field 10 -- # of milliseconds spent doing I/Os
    This field is increases so long as field 9 is nonzero.
Field 11 -- weighted # of milliseconds spent doing I/Os
    This field is incremented at each I/O start, I/O completion, I/O
    merge, or read of these stats by the number of I/Os in progress
    (field 9) times the number of milliseconds spent doing I/O since the
    last update of this field.  This can provide an easy measure of both
    I/O completion time and the backlog that may be accumulating.
</snap>
Mir ist jedoch trotzt dieser Erklärung nihct klar wa das Feld 2 genau bedeutet - bzw was der Unterschied zu dem Feld1 ist. Ich stehe da irgendwie auf dem Schlauch .... - > Vielleicht kann mir da jemand Helfen...

Dann noch eine andrer Frage. Wie kann man den aus diesen Daten die Lese bzw Schreiggeschwindigkeit in z.B. kb/s ermitteln.

Ich hoffe das mir bei diesen Punkten jemand helfen kann bzw mit einen Link zeigen kann.
Auf jeden fall vielen Dank schon mal

Thonix

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 01.08.2006 09:22:58

Hm, Feld 2 bzw. Feld 6 ist die Anzahl, wie oft Reads/Writes verschmolzenen wurden. Das Verschmelzen bedeutet, dass der Kernel IO-Zugriffe, die auf aufeinanderfolgende Sektoren auf deiner Festplatte abzielen zu einem IO-Zugriff verschmilzt. Dies ist eine Optimierung, die etwas Performance bringt.
Die beiden Felder sagen dir also nur, wie oft der Kernel mehrere IOs zu einem zusammengefasst hat und dies eben fuer Reads im Feld 2 und Writes im Feld 6.

Antworten