У нас есть система хранения NetApp, представляющая LUN для нескольких кластеров Hyper-V. При запуске трассировки производительности системы (в perfmon) на 2008 R2 появляется предупреждение о «высоком уровне Split I / O». Читая о разделенном вводе-выводе, я обнаружил, что это, скорее всего, вызвано фрагментированным диском.
Мне трудно поверить, что диск фрагментирован в традиционном смысле, потому что все виртуально (виртуальный жесткий диск на LUN, на томе, в совокупности, в системе хранения, которая записывает везде, где считает нужным, и дедуплицирует эти данные тоже). Так стоит ли мне вообще об этом беспокоиться? Я не вижу никаких доказательств проблем с хранением, таких как чрезмерная задержка.
Между прочим, выполнение анализа дефрагментации на одной из наших виртуальных машин показывает ~ 50% фрагментированных данных. Думаю, я где-то читал, что окна будут автоматически разделять ввод-вывод, если обнаружит фрагментацию выше 20%, это правда? Задача дефрагментации отключена, так как она узнает?
Фрагментация диска в виртуальных машинах - это просто факт жизни по той причине, которую вы описали. В большинстве случаев это не то, о чем нужно беспокоиться. Если у вас есть рабочие нагрузки, которые выполняют массивные последовательные операции ввода-вывода, это может быть причиной низкой производительности, но не для случайных рабочих нагрузок чтения / записи.
Есть причина, по которой виртуальные машины иногда называют блендерами ввода-вывода :)
Для NetApp разделение ввода-вывода обычно означает плохое выравнивание. Если ваш MBR смещает дисковые блоки виртуальной машины так, что они перекрывают границы блоков NetApp, то каждый раз, когда вы выполняете ввод-вывод для одного блока из ОС, вам придется дважды ударить по хранилищу.
Множественные операции ввода-вывода всегда менее эффективны. Вы должны определить, проявляется ли это как проблема производительности. Некоторые файлы по определению имеют большие размеры и данные в них организованы случайным образом, поэтому можно ожидать некоторых разделенных операций ввода-вывода.
Разделенные операции ввода-вывода также могут быть признаком другого узкого места, например, длины дисковой очереди.
Вы можете убедиться, что вы измеряете задержку storport. Это скрыто в perfmon, и его можно измерить, как описано в разделе «Дополнительная информация»:
http://support.microsoft.com/kb/978000
Должно быть хорошо известно, что производительность SAN storport 2008 R2 SP1 ниже, чем у Windows 2003 на том же оборудовании.
Вы можете убедиться, что в ОС установлены актуальные исправления, не связанные с безопасностью, если есть проблемы с производительностью.