Я замечаю периодически низкие скорости чтения / записи диска на моей виртуальной машине CenTOS 5.x.
Иногда hdparm сообщает:
/dev/sda3:
Timing buffered disk reads: 6 MB in 3.03 seconds = 2.04 MB/sec
В других случаях он сообщит:
/dev/sda3:
Timing buffered disk reads: 80 MB in 3.53 seconds = 22.34 MB/sec
Я склонен подозревать, что хост-система VMWare перегружена, но прежде чем я подниму этот вопрос с администратором VMWare, я хотел бы исключить что-либо еще, относящееся к ОС, которое могло бы вызвать такое поведение.
Могу ли я провести еще какие-то области или тесты? Может ли какое-либо повреждение виртуальной машины / ОС вызвать такое поведение? Помогло бы восстановление / замена ВМ?
Согласно странице руководства:
-t Perform timings of device reads for benchmark and comparison
purposes. For meaningful results, this operation should be
repeated 2-3 times on an otherwise inactive system (no other
active processes) with at least a couple of megabytes of free
memory.
Итак, да, другие процессы могут повлиять на эти результаты.
Могу ли я провести еще какие-то области или тесты?
Один из способов узнать, используют ли эти диски другие процессы, - это загрузить sysstat
с главной страницы Вот. Sysstat, конечно, уже доступен из репо, но, к сожалению, он не включает pidstat
команда, которая необходима, чтобы проверить это.
Ядра EL5 переносят учетные записи диска в ядро, начиная с EL5.4, без предоставления интерфейса для его использования, но pidstat будет работать, как только вы это сделаете.
Затем запустите pidstat -d
команда для генерации полезных показателей дискового ввода-вывода, в частности, что другие процессы делают с диском. Вы также можете использовать pidstat -d <interval> <count>
чтобы получить более точную метрику конкуренции на используемом диске.
Может ли какое-либо повреждение виртуальной машины / ОС вызвать такое поведение?
Повреждение ОС маловероятно (я думаю, системные вызовы как-то облажались). hdparm не использует файловую систему для выполнения своих тестов, что устраняет любое замедление в этой области, включая проблемы с деградацией. Если вы используете LVM, существует риск того, что вы будете читать из фрагментированных экстентов. Однако ваши примеры этого не показывают.
Коррупция виртуальной машины, ну и всякая игра, я думаю, и это сводится к ряду факторов, которые я могу придумать, но, вероятно, будет включать больше:
Помогло бы восстановление / замена виртуальной машины?
Я думаю, удача в горшке, лучше или хуже. См. Приведенные выше факторы окружающей среды, которые могут помочь / помешать.
В конце концов, если вы используете программное обеспечение для управления томами или программное обеспечение тонкого выделения ресурсов в любой точке потока данных, записываемых на носитель (на вашем хосте, на уровне вашей виртуальной машины, на уровне SAN / контроллера), вы можете иметь нет надежных ожиданий что последовательное чтение, которое вы выполняете, действительно является последовательным или что носитель, на который вы записываете, согласован (если это быстрый диск или данные были перемещены на медленный диск).
Виртуализация настолько мощна, потому что добавляет хосту уровень логической абстракции. Но из-за этого уровня абстракции выполнение на них надежного управления мощностью может быть потенциально ужасным.