Назад | Перейти на главную страницу

Windows Server 2008 R2 резко останавливается во время операций копирования файлов

Когда моя машина с 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?

Использование сервера в качестве настольного компьютера ... Установлен модный драйвер видеокарты? (просто предложение)

http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx

Обновление: на i7 с поддержкой SLAT или EPT вы можете сделать что-то подобное {только для виртуальных машин} через RemoteFX. Но запуск Aero на хосте все равно может ухудшить производительность.

Я склонен к тому, что это произойдет, если вы запустите сервер Hyper-V на неподходящем оборудовании. У меня было то же самое на перепрофилированных системах рабочих станций, где бюджет ввода-вывода диска ard был на низком уровне.

С тех пор, как я перешел на правильный рейд-контроллер на более мощном сервере, я могу копировать все это со скоростью, которую я считал невероятной раньше (сотни мегабайт в секунду, ПОКА другие вещи происходят). Проблема только в том, что около 10 виртуальных машин ежемесячно проводят патч-оргию одновременно.

Я бы посоветовал проверить: * Среднее время отклика диска, в обычном режиме и во время работы * Процент занятости диска.

Для получения дополнительной информации разместите полное оборудование - память, процессор, дисковую подсистему и компоновку.

** Обновить

Накопители SATA - 320 ГБ и 1 ТБ

Вы, должно быть, шутите, чтобы противостоять Hyper-V.

вот некоторые конфигурации, которые у меня есть.

  • Небольшой сервер (16 ГБ ОЗУ, запускает несколько образов): Adaptec 3405, 245 МБ кэш-памяти записи с резервным питанием от батареи, 3x 320 ГБ ОЗУ. Это вещь с низкой производительностью. Хорошо работает. У них также есть еще 4 диска в качестве хранилища файлов 8, потому что я использую их как двойные файловые серверы в небольшой установке для разработки).
  • Стандартный сервер: 64 ГБ ОЗУ, один уже занят. Выполняется 20-30 изображений. И вот, RAID-контроллер Adaptec 5805, оперативная память 512 МБ, резервное питание от батареи, кэш обратной записи. 8 (!) Велоцирапторов 10.000 об / мин, RAID 10.

ОБА (!) Имеют проблемы при передаче больших файлов, поскольку ввод-вывод получает налоги, хотя больший из них ограничен сетью (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 поможет вам глубже понять проблему.