Высокая активность дискового ввода-вывода на сервере CentOS
У меня есть около 16 веб-сайтов в выделенном CentOS, и у меня есть некоторые проблемы с большим количеством трафика, похоже, высокая активность ввода-вывода диска вызывает общее замедление.
Я установил поверх, и это то, что я вижу внизу (сервер был перезапущен, поэтому значения так низки):
*** system and process activity since boot ***
PID RDDSK WRDSK WCANCL DSK CMD 1/18
2176 1.7G 7.3G 854.4M 39 mysqld
671 1248K 3.0G 0K 13 flush-8:0
566 0K 1.1G 0K 5 jbd2/sda2-8
2401 124.2M 529.1M 22408K 3 crond
2032 2.2G 502.0M 0K 12 nginx
2360 425.8M 115.3M 4188K 2 httpd
flush-8:0 и jbd2/sda2-8 - это процессы, которые я вижу с iotop, используя 99% для столбца IO>, и они являются процессами, которые пишут больше всего на hdd (после mysql). Из того, что я видел в Google, это могло быть вызвано некоторой связанной с ext4 ошибкой, текущее ядро:
Linux srvr.com 2.6.32-71.29.1.el6.x86_64 # 1 SMP Пн 27 июня 19:49:27 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
Я попросил поддержку хостинга обновить ядро, и они попытались, но теперь они говорят, что сервер не загрузится с новым установленным ядром, и им пришлось вернуться к предыдущему, они не очень помогают.
Кто-нибудь имеет какие-либо идеи, как я могу решить высокую загрузку диска, вызванную процессами flush-8:0 и jbd2/sda2-8?
3 ответа
Вы не дали нам достаточно информации, чтобы я мог это сказать, но моя первая догадка - это то, что вы чрезмерно используете ОЗУ и меняете своп. наверху покажите нам список памяти (нажмите m), включая заголовок.
Не вините вашу поддержку. Ваше ядро и ext4 вряд ли будут проблемой.
flush-8:0
есть нить ядра, работает на сброс dirty
Буфер оперативной памяти и / или swap
на диск, jbd2/sda2-8
это поток ядра, который работает с журналированием на файловых системах - они интенсивного ввода-вывода являются результатом, а не причинами вашей проблемы.
больше похоже, что ваша проблема - интенсивное использование диска mysql. в то время как JBD используется - похоже, выполняется несколько операций записи.
проверьте, какие файлы были изменены mysql, или проверьте его журналы, использование БД, оптимизацию таблиц и настроены ли демоны mysql на использование максимально возможного объема ОЗУ для кэширования.
Вы можете использовать http://mysqltuner.com/ для общих рекомендаций.
если запись останется, возможно, вам нужно увеличить скорость диска для большего числа операций ввода-вывода в секунду.
проверьте, какие файлы пишутся чаще. имеет значение не только скорость МБ / с, вы можете записать 20 МБ, но потреблять больше операций ввода-вывода, чем другие, которые получают на 200 МБ.
По-видимому, mysql не любит ext4. Обновление ядра или изменение каталога данных mysql на раздел ext3 должно решить эту проблему. http://ubuntuforums.org/showthread.php?t=1313834&page=2