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

8

Когда мой компьютер под управлением 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?

skolima
источник
Какой процессор вы используете? К какой дисковой подсистеме вы обращаетесь и к какой модели?
Hyppy
Обновил мой вопрос с деталями.
Сколима
Какой-нибудь антивирус работает?
Hyppy
Нет. Сервер в основном только хост HyperV. Да, я на 100% уверен, что он ничем не заражен. Нет, виртуальные машины не заняты.
Сколима
Просто чтобы быть понятным, копии файлов происходят вне виртуальных машин? Я использовал конфигурацию, очень похожую на вашу, без проблем в тестовых лабораторных целях. Очевидно, что вы не ожидаете производительности сервера, но она работает. Наша нагрузка более интенсивно использует процессор, чем IO. :)
Джереми

Ответы:

7

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

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 на хосте может ухудшить производительность.

TristanK
источник
1
Настройка с двумя мониторами, ATI Radeon (вполне приличная) - это может быть хорошим уловом, я посмотрю на это.
Сколима
2
Ты был прав! Виртуальные записи TLB Flush / sec стреляют сквозь крышу, когда начинается задание копирования. Отличный улов, слишком плохой, это означает, что мы должны заменить наше оборудование.
Сколима
Круто, Сорта! Я бы посоветовал просто проверить, исправлены ли проблемы с производительностью, если вы загрузитесь в режиме VGA для быстрого тестирования. (не весело, я знаю)
TristanK
2

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

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

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

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

** Обновить

Диски SATA - 320 ГБ и 1 ТБ

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

Вот некоторые из моих убеждений.

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

ОБА (!) Возникают проблемы при передаче больших файлов, поскольку IO получает налоги, хотя больший из них ограничен сетью (1 Гбит до 5 часов, затем 4), и генерация комбинации с контроллером ОЧЕНЬ хорошо справляется с ситуацией.

Система с двумя дисками - и, очевидно, 1 ТБ - это не диск с характеристиками, а тот, который сделан для размера, - это все равно что участвовать в гонке Формулы 1 с фиат-пандой. Встроенный не буферизированный контроллер низкой цены означает, что оптимизация ввода-вывода также невозможна. Когда ваша копия файла попадает, бюджет диска полностью уходит в это. Там могут быть некоторые оставленные для ОС, но все остальное .... кто.

По современным стандартам это LOOOOOW конечный сервер или приличные рабочие станции с большим количеством ЦП (8 ГБ ОЗУ - рабочая станция более высокого уровня). Диски не серверного уровня. Это не то, на что я бы поставил гипервизор, кроме демонстраций. Hyper-V похож на базу данных - ему нужен ввод-вывод. Много. Потому что гипервизор полностью убивает «последовательный доступ» и превращает его в случайный, как любая база данных.

Вы должны поместить в нее соответствующие возможности ввода-вывода. Помимо достаточного объема ОЗУ (если вам это нужно), вы можете запускать на них гораздо больше, в отношении виртуальной машины - в противном случае ЦП просто полностью не используется. Я надеюсь, что ваши виртуальные машины сильно нагружают процессор, иначе это впустую.

TomTom
источник
+1 за "патч оргии"
BenGC
Нет причины, по которой вы не можете запускать Hyper-V, если есть соответствующие ожидания
Джим Б.
;) А те лучше с такой коробкой низкие.
TomTom
Это однопользовательская рабочая станция, а не сервер, я обновил вопрос.
Сколима
Все еще застряли. Убедитесь, что у вас нет явных ошибок конфигурации - ОЧЕНЬ важно: возможно, ваш ИТ-отдел был недостаточно умен, чтобы активировать NCQ. Насколько мне известно, приоритеты Windows IP не могут быть изменены.
TomTom
1

У меня была похожая проблема: Windows 2008, сервер VMware и сервер нижнего уровня с дисками SATA. Производительность сети и локальное копирование больших файлов были плохими. После исследования я обнаружил, что режим SATA был в эмулированной IDE в конфигурации BIOS. Изменился на родной SATA и производительность немного увеличилась. Однако диски SATA - не лучшая идея для виртуализации. Три vms и другие задачи с хоста означают, что доступ к дискам будет узким местом.

nablas
источник
0

Возможно, вы захотите попробовать разгрузить как можно больше дискового ввода-вывода во внешнюю сеть SAN. (Дробон вполне бы справился с этой задачей). Похоже, хост просто не справляется с количеством операций ввода-вывода. Также может быть полезно убедиться, что драйверы чипсета и контроллера дисков установлены и обновлены.

TheCompWiz
источник
0

Похоже, у вас есть 2 диска SATA, и я предполагаю, что на диске 1 ТБ больше активности. Вы не сказали, какой тип дисков, но я также подозреваю, что они не поддерживают NCQ (что немного поможет). Очевидно, у вас есть узкое место IO. Настроенный optiplex 960 не сможет справиться с большими нагрузками ввода-вывода, поскольку я считаю, что два диска используют одну шину (встроенный множитель портов). Вы можете попробовать покупки дополнительной сата карты (мое предложение http://www.newegg.com/Product/Product.aspx?Item=N82E16816318008&cm_re=pci_express_sata- -16-318-008- -Продукт) или что-то подобное. В прошлом я пытался использовать десктопы в качестве сервера и сталкивался с подобными головными болями до такой степени, что теперь я просто выберу дешевый сервер. У HP есть серия ML 110, которая начинается с 400 долларов (и это с ядром i3). Серверные чипсеты почти всегда являются многоканальными контроллерами sata.

Джим Б
источник
0

Вы можете посмотреть на приоритеты ввода / вывода, используя Resource Monitor. Я также нашел нить с инструментом для их настройки здесь

uSlackr
источник
0

Я бы начал с установки / запуска Process Hacker . Это как проводник процессов, но лучше.

Начните копирование файла, а затем начните сортировку отображаемых данных в поисках чего-то странного.

Сервис -> Файл страницы - это огромный? Какой это был пик? Проверьте explorer.exe, дважды щелкнув по нему в Process hacker и посмотрите на вкладку Performance. Вот как выглядел мой при копировании папки виртуальной машины (содержащей несколько файлов vmdk различного размера).

Проверьте нижнее окно, которое показывает мой ввод / вывод. Я смотрел и видел, что он упал до нуля, когда он закончил каждый файл.

Увеличивается ли использование ресурса explorer.exe?
Вместо этого всплывает другой процесс? (т.е. AV сканирует процесс копирования?)

Сделайте то же самое в другой аналогичной системе и сравните результаты.

Все ваши ядра используются?

Надеемся, что Process Hacker даст вам дополнительное представление о проблеме.

кличка
источник