Я пытаюсь найти узкое место на сервере, на котором запущен довольно загруженный сайт 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%