Когда моя машина с Windows Server 2008 R2 выполняет какие-либо операции с большим диском (копирование файлов размером 10 ГБ с одного диска на другой, копирование аналогичного файла по сети, объединение снимков HyperV, сжатие больших файлов), производительность всей машины ужасно снижается, все перестает отвечать на запросы . Это заметно в любой ситуации, когда доступ к диску достаточно велик и не помещается в кэш.
Есть ли какие-нибудь настройки для настройки этого поведения? Я могу согласиться с более медленной передачей файлов, если это повысит скорость реакции.
Сведения о системе: Dell Optiflex 960, Core 2 Quad Q9650, 8 ГБ ОЗУ, 2 диска SATA - 320 ГБ (ST3320418AS) и 1 ТБ (ST31000528AS), NCQ активен на обоих, Intel 82564LM-3 Gigabit Ethernet, графика ATI HD 3450, мост Intel ICH10. У нас есть несколько таких машин, каждая из которых ведет себя одинаково. Я думал, что это перебор для рабочей станции, видимо я ошибался.
Обновление: я думаю, мне вообще не следовало упоминать HyperV. Вышеупомянутая конфигурация представляет собой стандартную настройку рабочей станции в компании, в которой я работаю, это не какой-либо сервер. У меня работает не более 3 виртуальных машин, и обычно я единственный, кто к ним обращается. Тем не менее, замедление происходит даже тогда, когда виртуальные машины не работают. На машине с Linux я бы просто ionice
процесс копирования, и я могу забыть об этом, есть ли способ управлять приоритетами ввода-вывода в Windows?
Использование сервера в качестве настольного компьютера ... Установлен модный драйвер видеокарты? (просто предложение)
Обновление: на i7 с поддержкой SLAT или EPT вы можете сделать что-то подобное {только для виртуальных машин} через RemoteFX. Но запуск Aero на хосте все равно может ухудшить производительность.
Я склонен к тому, что это произойдет, если вы запустите сервер Hyper-V на неподходящем оборудовании. У меня было то же самое на перепрофилированных системах рабочих станций, где бюджет ввода-вывода диска ard был на низком уровне.
С тех пор, как я перешел на правильный рейд-контроллер на более мощном сервере, я могу копировать все это со скоростью, которую я считал невероятной раньше (сотни мегабайт в секунду, ПОКА другие вещи происходят). Проблема только в том, что около 10 виртуальных машин ежемесячно проводят патч-оргию одновременно.
Я бы посоветовал проверить: * Среднее время отклика диска, в обычном режиме и во время работы * Процент занятости диска.
Для получения дополнительной информации разместите полное оборудование - память, процессор, дисковую подсистему и компоновку.
** Обновить
Накопители SATA - 320 ГБ и 1 ТБ
Вы, должно быть, шутите, чтобы противостоять Hyper-V.
вот некоторые конфигурации, которые у меня есть.
ОБА (!) Имеют проблемы при передаче больших файлов, поскольку ввод-вывод получает налоги, хотя больший из них ограничен сетью (1 Гбит до 5 часов, затем 4), и генерация комбинации с контроллером ОЧЕНЬ хорошо справляется с ситуацией.
Двухдисковая система - а 1 Тбайт, очевидно, не является диском производительности, а диском, рассчитанным на определенный размер - просто похожа на гонку формулы 1 с фиатной пандой. Встроенный небуферирующий контроллер низкой цены означает, что оптимизация ввода-вывода также невозможна. Когда ваша копия файла попадает, бюджет диска полностью уходит на это. Может быть, кое-что осталось для ОС, но что-нибудь еще .... блин.
По современным меркам это LOOOOOW конечный сервер или достойные рабочие станции с большим количеством ЦП (8 ГБ ОЗУ - это рабочая станция более высокого уровня). Диски не серверного класса. Это не то, на что я бы ставил гипервизор, кроме демонстраций. Hyper-V похож на базу данных - ему нужен ввод-вывод. Полно. Потому что гипервизор полностью убивает «последовательный доступ» и превращает его в случайный, как и любая база данных.
Вам необходимо добавить в него соответствующие возможности ввода-вывода. Помимо достаточного количества оперативной памяти (если она вам нужна), вы можете запускать на них гораздо больше, с точки зрения виртуальной машины - в противном случае процессор просто полностью не используется. Я надеюсь, что ваша виртуальная машина сильно нагружает процессор, иначе она будет потрачена впустую.
У меня была аналогичная проблема: Windows 2008, сервер VMware и сервер низкого уровня с дисками SATA. Производительность сети и локальное копирование больших файлов были плохими. После исследования я обнаружил, что режим SATA был эмулирован в IDE в конфигурации BIOS. Изменен на собственный SATA, и производительность немного увеличилась. Однако диски SATA - не лучшая идея для виртуализации. Три виртуальных машины и другие задачи от хоста означают, что доступ к дискам будет узким местом.
Возможно, вы захотите попробовать выгрузить как можно большую часть дискового ввода-вывода во внешнюю сеть SAN. (Дробо вполне справится с этой задачей) Похоже, хост просто не может справиться с объемом операций ввода-вывода. Также может быть полезно убедиться, что драйверы чипсета и контроллера диска установлены и обновлены.
Похоже, у вас 2 диска SATA, и я предполагаю, что на диске 1 ТБ больше активности. Вы не сказали, какой тип дисководов, но я также подозреваю, что они не поддерживают NCQ (что немного поможет). Очевидно, у вас есть узкое место ввода-вывода. Настроенный optiplex 960 не сможет обрабатывать большие нагрузки ввода-вывода, поскольку я считаю, что два диска используют одну и ту же шину (на плате есть умножитель портов). Вы можете попробовать приобрести дополнительную карту SATA (мое предложение http://www.newegg.com/Product/Product.aspx?Item=N82E16816318008&cm_re=pci_express_sata--16-318-008--Товар) или что-то подобное. Раньше я пытался использовать настольные компьютеры в качестве серверов и столкнулся с подобными головными болями до такой степени, что теперь я просто возьму дешевый сервер. У HP есть серия ML 110, стоимость которой начинается от 400 долларов (и это с Core i3). Серверные чипсеты почти всегда представляют собой многоуровневые контроллеры SATA.
Вы можете посмотреть приоритеты ввода-вывода с помощью монитора ресурсов. Еще нашел резьбу с инструментом для их корректировки Вот
Я бы начал с установки / запуска Хакер процессов. Это похоже на обозреватель процессов, но лучше.
Начните копирование файла, а затем начните сортировку отображаемых данных в поисках всего, что выглядит странно.
Инструменты -> Файл подкачки - Он огромен? Какой это был пик? Проверьте explorer.exe, дважды щелкнув его в Process hacker и просмотрите вкладку «Производительность». Вот как выглядел мой при копировании папки виртуальной машины (содержащей несколько файлов vmdk различного размера).
Посмотрите на нижнее окно, которое показывает мой ввод-вывод. Я наблюдал и увидел, что он упал до нуля по мере завершения каждого файла.
Повышается ли загрузка ресурсов explorer.exe?
Вместо этого возникает всплеск другого процесса? (т.е. AV, сканирующий процесс копирования?)
Проделайте то же самое с другой системой с аналогичными характеристиками и сравните результаты.
Используются ли все ваши ядра?
Надеюсь, Process Hacker поможет вам глубже понять проблему.