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

Ужасная производительность Windows Server 2003 при копировании файлов через Netbios

У нас есть сервер на базе Windows Server 2003, совместно использующий папку через гигабитный интерфейс, который каждый час получает файл размером 10 ГБ с другого сервера. Этот сервер представляет собой Dell PowerEdge 830 с двумя дисками SCSI на RAID-1 с адаптером PERC4 / SC. Передача происходит почти через 10 минут, и в течение периода передачи сервер становится непригодным для использования. Мы даже не можем открыть Windows Explorer, Диспетчер задач или получить доступ к серверу через VNC. Нам нужен совет о том, в чем проблема, или о том, как отслеживать дальше, чтобы найти проблему.

Это почти наверняка связано с раздутием буфера записи на сервере, поскольку входящая передача превышает скорость записи дисковой подсистемы - см. Статью Марка Руссиновича о поведении сетевого копирования в различных версиях Windows. Вот.

Одна из самых больших проблем с реализацией механизма заключается в том, что для копий, содержащих большое количество данных, поток с отложенной записью Cache Manager в целевой системе часто не успевает за скоростью, с которой данные записываются и кэшируются в памяти. Это заставляет данные заполнять память, возможно, вынуждая другой полезный код и данные, и, в конечном итоге, память целевой системы становится туннелем, через который все скопированные данные проходят со скоростью, ограниченной диском.

Движок, о котором он здесь говорит, взят из Windows XP (и W2K3).

Как только буферизация превысит общий объем свободной физической ОЗУ в системе, вы увидите физическую подкачку в дополнение к записям, связанным с копией, и у вас также есть все стандартные операции ввода-вывода Windows, которые все еще пытаются продолжить. Как только вы пытаетесь инициировать новый процесс, который запускает дальнейшее разбиение по страницам - снова все замедляется.

У вас может быть проблема с вашими дисками, но даже в идеальных условиях маловероятно, что конфигурация RAID 1 на этом сервере могла бы поддерживать поток записи 10 ГБ намного быстрее, чем примерно 40-50 МБ / с, в то время как ваша ссылка GigE почти наверняка превысит это (и может легко может быть вдвое больше, если не чуть больше).

Ваши варианты:

  1. Добавьте больше дисков, чтобы массив работал быстрее - вам потребуется как минимум 4-дисковый RAID 10 или 6/7 дисковый RAID 5, чтобы получить достаточно высокий уровень ввода-вывода для потоковой записи, чтобы избежать буферизации.
  2. Увеличьте объем оперативной памяти, чтобы буферизовать весь поток или, по крайней мере, большую его часть, если ваша версия Windows Server и ваше оборудование позволяет это.
  3. Найдите способ снизить скорость передачи до 10-20 мегабайт в секунду.
  4. Обновитесь до W2K8 (с более умным буфером сетевого копирования).