Назад | Перейти на главную страницу

Какие значения iowait подходят?

Я пытаюсь найти узкое место на сервере, на котором запущен довольно загруженный сайт php / mysql. Моим первым виновником был io, но iostat показывает, что в среднем iowait потребляет всего 3,60% времени процессора. вот полный результат выполнения iostat:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          65.78    0.00    8.52    3.60    0.00   22.10

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              42.36       138.28      1754.70  408630278 5185216128

Поэтому мне интересно, находится ли iowait в допустимых пределах, а если нет, может ли переключение с SATA на SSD резко снизить его?

iowait, как мера загрузки системы, является проблемой только потому, что потребляет процессорное время, которое может быть разумно использовано другими процессами. Если у вас все еще простаивает процессорное время, то высокий iowait (само по себе) не проблема.

С другой стороны, высокий iowait жестяная банка быть симптомом проблемы; однако вам действительно следует профилировать свое приложение, чтобы увидеть, составляет ли время, затрачиваемое на дисковый ввод-вывод, значительный процент от общего времени, затрачиваемого на выполнение полезной задачи. Вы не можете сделать это, глядя на статистику процессора, top, htop, iotop, или любой другой инструмент системного уровня, который люди попытаются порекомендовать. Вам нужно посмотреть на ваше приложениеи способ его работы, чтобы определить, принесет ли изменение подсистемы дискового ввода-вывода какую-либо пользу вашему приложению.

Использование диска более важно, вы можете измерить это с помощью:

iostat -xm 5

он, вероятно, будет близок к 100%