понедельник, 13 июня 2016 г.

Учим пользоватся iostat

Все параметры снимаются через iostat. О любом можно почитать в man pages


Пример стандартного вывода программы:

  Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
  sda               0,00     0,00    0,00    0,12     0,03    12,38   197,81     0,00    5,36  179,66    3,42   3,63   0,05
  sdb               0,03     3,00   16,70    7,83    99,67  1466,95   127,72     1,49   60,79    8,25  172,82   6,63  16,27
  sdc               0,02     2,99    3,85    7,84    26,38  1466,95   255,49     1,20  102,30   11,14  147,15   6,18   7,23
  sdd               0,00     0,00    9,23   10,21  1136,19   769,72   196,15     0,06    3,07    4,73    1,57   1,89   3,67

Формулы:

  • avgrq-sz = (rsec + wsec) / (r + w)
  • await = qutim + svctim
  • utilization = ( (read requests + write requests) * service time in ms / 1000 ms ) * 100% или %util = ( r + w ) * svctim /10


судя по оф ману параметр на svctm опиратся к сожалению нельзя(

Отзывчивость устройства

Время за которое в среднем обрабатывается запрос на ввод-вывод включая ожидание в очереди, причем наиболее характерно именно ожидание, ибо оно зависит от загрузки, а не собственно размера запроса. Чем выше это время, тем медленее отзыв системы на запрос приложения.


  • await (await) - Среднее время ожидания обработки одного запроса (миллисекунды). Время нахождение и на обработку в очереди - всключено.
  • read await (r_await) - Среднее время (в миллисекундах) обработки запроса на чтение. Время нахождение и на обработку в очереди - всключено.
  • write await (w_await) - Среднее время (в миллисекундах) обработки запроса на запись. Время нахождение и на обработку в очереди - всключено.


Вывод:
await - должно стремится к минимуму, так же можно посмотреть как устройство отзывается на запись и на чтение (r_await и w_await).
Зависит от утилизации диска.


Состояние очереди

Позволяет оценить характер нагрузки и степень загруженности устройства.


  • average queue size (avgqu-sz) -  средняя длина очереди запросов в драйвере диска.
  • average requests size (avgrq-sz) - средний размер запроса (в секторах).


Вывод:
avgqu-sz - должна стремится к нулю если стабильно больше 1 то очевидно диск не справляется.
avgrq-sz - говорит лишь о харрактере нагрузки.


Операции слияния в очереди

Количество запросов чтения/записи (в секунду) объединенных при постановке в очередь на выполнение.
Число запросов, которые приложения запросили выполнить,а система смогла их объединить в блоки в среднем по avgrq-sz байт, для экономии.


  • write requests merge per second (wrqm/s) - IOPs на запись в очереди
  • read requests merge per second (rrqm/s)- IOPs на чтение в очереди


Вывод:
Принципы использования диска.
Random Access - когда чтение поверхности случайно, для него харрактерено: r/s,w/s начнут стремиться к rrqm/s и wrqm/s, и avgrq-sz падать. Естественно при таком сценаррии, диск HDD будет тормозить.
Sequential Access - когда чтение последовательно, для него харрактерно rrqm/s и wrqm/s стремится к 0, avgrq-sz растет. При таком сценарии, HDD диск будет работать с максимальным КПД.


Текущие значения чтения/записи на устройство

Текущая скорость чтения/записи на устройство в килобайтах


  • read from device per second (rkB/s) - Колличество киллобайт прочитанных с устройства в секунду.
  • written to the device per second (wkB/s) - Колличество киллобайт записанных на устройство в секунду.

Вывод:
Тут особо нечего сказать, естественно надо понимать чем вызван скачек.


Утилизация блочного устройства

Утилизация диска и значение IOPS - важный параметр загруженности диска, можно оценить характер нагрузки, по чему он проседает.


  • utilization (%util) - утилизация винта общая нагрузка на устройство.
  • write operations per second (w/s) - IOPs на запись.
  • read operations per second (r/s) - IOPs на чтение.


Вывод:
При значениях utilization близких к 100% система «встает», в том числе все приложения. Процессора уходят в iowait, а процессы, желающие ввода-вывода — в Disk Sleep.
Как следствие рост await, все плохо.