Читать IO Ожидание увеличения

Устраняя проблему с производительностью на компьютере Debian Linux, работающем с ext3 на программном RAID 1, я перенаправил вывод процесса, записывающего бесполезные временные файлы журнала, в /dev/null (ln -s /dev/null/ foo), который сократил операции записи на около 3 МБ / с. Однако, похоже, это изменение также привело к значительному увеличению времени записи и общего времени ожидания, которое я затрудняюсь объяснить, и было бы очень признательно за некоторый вклад в...

iostat: http://oi45.tinypic.com/5l2mx0.jpg

задержка записи (изменения вступили в силу примерно в 3 часа ночи): http://oi46.tinypic.com/33be1kw.jpg

Обновление 18.04.13:

Запись IOwait остается выше, чем раньше, но я применил следующие, которые были по крайней мере несколько полезны...

  • Перемонтировал файловую систему с опцией noatime.
  • Изменен срок сдачи ioscheduler.
  • Сделано vm.swappiness 30 (на хосте находится ~1 ГБ базы данных, CMS и потокового аудио).
  • Снизил скорость чтения до 256 с 4096 для sda и sdb.
  • Перечитал до 4096 с 256 для /dev/md2 (основной раздел данных).

Обновление 19.04.13:

  • Преобразовал основную файловую систему из ext3 в ext4

1 ответ

По логике вещей, единственное, что может увеличить время отклика (ожидание ввода / вывода), - это увеличить количество операций, которые необходимо выполнить над "той же самой" вещью.

Гипотеза: ввод / вывод в / dev / null вызывает больше операций на уровне драйвера, чем (возможно, больше буферизованного) ввода / вывода на диск

Тест: попробуйте переключить его обратно на файл на диске. Если время отклика падает, есть что-то связанное с / dev / null, которое занимает больше времени, чем должно. Если время отклика остается тем же, то что-то произошло одновременно с изменением, которое повлияло на время отклика.

--dave

Другие вопросы по тегам