В последнее время я испытываю большую нагрузку на этот сервер, больше, чем должно, из-за того небольшого количества, что есть в этой системе. Похоже, что самые простые вещи, использующие диск, такие как обновление YUM, значительно увеличат емкость диска в 10LA, когда он хорошо работает под 1.
Мог ли это быть плохой диск?
iostat -xdk 1 50 http://pastebin.com/hRxY50FC
При высокой степени использования диска помимо необработанной емкости диска важно понимать, как память ведет себя в вашей системе.
Хороший ввод-вывод файла часто требует значительного объема кэширования. При нехватке памяти могут произойти две вещи, которые могут привести к высокой нагрузке ввода-вывода:
free
командаvmstat
команда.Если все в порядке, вы, вероятно, захотите изучить Определение процесса, вызывающего интенсивный ввод-вывод на диск?
Можете ли вы отправить iostat -xdk 1 50, когда возникнет проблема. См. Справочную страницу iostat о том, какой переключатель можно использовать для получения списка имен разделов). Вставьте его вместе с верхним надувом, взятым одновременно.
Хорошо, так что здесь, когда ваш диск кажется слишком загруженным в определенные моменты вашей рабочей нагрузки.
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 85.00 5.00 249.00 11.00 6040.00 64.00 46.95 10.73 44.23 3.85 100.00
sda 3.00 0.00 275.00 0.00 7764.00 0.00 56.47 7.63 23.27 3.64 100.00
sda 125.00 29.00 221.00 3.00 5508.00 128.00 50.32 7.49 41.08 4.46 100.00
sda 14.00 65.00 224.00 28.00 5940.00 372.00 50.10 1.97 8.05 3.52 88.80
По сравнению с другими итерациями, запрос на чтение иногда становится слишком большим. И тогда ожидание увеличивается. Однако средний размер очереди, указанный в avgqu-sz, по-прежнему довольно низкий. Это означает, что большая часть времени ожидания тратится, пока хранилище обслуживает запросы. Это не на стороне Linux, я имею в виду не на стороне планировщика.
Грубо говоря, очереди две. Один в планировщике, а другой в аппаратной части. Время ожидания измеряется на основе каждого ввода-вывода с момента его попадания в планировщик ввода-вывода до времени, когда оно обслуживается хранилищем, то есть диском. avgqu-sz - это среднее количество операций ввода-вывода, содержащихся как в планировщике ввода-вывода, так и в очереди логических модулей хранилища. Если avgqu-sz намного меньше, чем глубина очереди хранилища, это означает, что в очереди планировщика тратится мало времени. Планировщик будет передавать эти операции ввода-вывода в хранилище, и пока они не будут обслуживаться хранилищем, время ожидания будет увеличиваться.
Короче говоря, на мой взгляд, в определенные моменты хранилище становится медленным, что увеличивает задержку.