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

Медленное копирование файлов по сети в Windows 7

Я написал программу, которая использует xcopy для передачи файлов (обычно от 1 КБ до 2 МБ) по нашей внутренней сети. Обычно я копирую файлы со своего хост-компьютера (Windows 7 x64) на виртуальную машину VMWare под управлением Windows Server 2008 (виртуальная машина работает на моем хост-компьютере, если это имеет значение).

В Windows XP для передачи файлов обычно требуется всего несколько секунд. Но на моем компьютере с Windows 7 передача первого файла (1,5 МБ) занимает около 1,5 минут. Это верно независимо от того, использую ли я xcopy, robocopy или программно с помощью File.Copy (). Я заметил, что если я использую File.Copy, первая передача будет очень медленной, а последующие передачи будут намного быстрее.

Есть какие-нибудь подсказки, как я могу ускорить процесс? Есть ли параметр в Windows 7 (или сервере 2008), который я мог бы попробовать?

Я нашел хороший зацеп на другой доске ( http://social.technet.microsoft.com/Forums/en/w7itpronetworking/thread/c30f6649-a0d9-4f5e-8671-904a8f5469bb ). Поскольку у проблемы было много потенциальных клиентов, которые не работали, я подумал, что отправлю кросс-опубликуемое решение, которое сработало для меня.

В частности, моя проблема заключалась в том, что передача файлов из Windows 7 в XP была медленной, если судить по загрузке сети в диспетчере задач примерно на 1%. При переходе с XP на Windows 7 обычно используется 80–99% пропускной способности сети. Эти результаты были достигнуты независимо от того, была ли передача «толкающей» или «тянущей».

Что сработало для меня: я зашел в свойства локальной сети, настройку, вкладку «Дополнительно» и отключил разгрузку большой отправки v2. Совет отключить автонастройку, RSS, установить скорость и дуплекс на определенное значение, удалить из домашней группы ничего не сделал. В конечном итоге настройки, которые работали на моей 64-разрядной рабочей станции Dell XPS 8100 Windows 7 Pro, были следующими:

Разгрузка ARP - Включить
Ethernet @ WireSpeed ​​- Включить
Управление потоком - Авто
Модуляция прерывания - Включить
Разгрузка контрольной суммы IPv4 - Rx & Tx включен
Разгрузка большой отправки (IPv4) - Включить
Разгрузка большой отправки v2 (IPv4) - отключить
Разгрузка большой отправки v2 (IPv6) - отключить
Сетевой адрес - отсутствует (переключатель)
NS Offload - Включить
Priority & VLAN - приоритет и VLAN включены
Масштабирование на стороне приема - Включить
Очереди RSS - Очереди RSS 4
Скорость и дуплекс - Авто
Разгрузка контрольной суммы TCP и UDP (IPv4) - Rx & Tx включен
Разгрузка контрольной суммы TCP и UDP (IPv6) - Rx & Tx включен
VLAN ID - 0 Возможности пробуждения -
Обе скорости WOL - объявленная самая низкая скорость

Надеюсь, это окажется полезным для кого-то еще.

Рассмотрите возможность отключения удаленного дифференциального сжатия в соответствии с этой статьей: http://www.windowsreference.com/windows-7/slow-network-file-copy-issues-in-windows-7-caused-by-remote-differential-compression/

РЕДАКТИРОВАТЬ: вы можете прочитать об особенностях удаленного дифференциального сжатия здесь: http://msdn.microsoft.com/en-us/library/aa372948(VS.85).aspx

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

Загрузите wirehark (http://www.wireshark.org) на сервере, машине XP и машине Windows 7 и захватить сетевую трассировку при копировании файла. Сравните операции копирования файлов XP -> 08 и Win7 -> 08 и поделитесь всем интересным, что вы видите между ними.

Тем не менее ... вы упомянули, что сервер 2008 года находится в виртуальной машине на вашем хост-компьютере (Windows 7). Где машина XP, которая нормально копирует? Похоже, что операция копирования может происходить в другой сети (хост -> ВМ), чем операция копирования XP -> ВМ (через вашу интрасеть?)

Для меня проблема заключалась в разгрузке сегментации.

Решение здесь сработало для меня ... (я знаю, что в статье говорится о Virtual Server 2005; но это решает проблему для меня в Virtual PC на Win7) http://support.microsoft.com/kb/888750

В основном на главном компьютере:

  • Запустите редактор реестра (regedit.exe) и выберите следующий ключ: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters
  • Создайте новое значение DWORD с именем DisableTaskOffload и установите для него значение 1.
  • Перезагрузите главный компьютер.

У меня была точно такая же проблема

ПК с Win7 имели долгую задержку при сохранении из Word или Excel, но машины XP были в порядке.

В моем случае виноват был Immunet Antivirus, загруженный на мой сервер 2008 года.

Удалил это, и все было хорошо.

Похоже, это проблема со сторонним программным обеспечением, а не с Office.

Забудьте RoboCopy, xcopy или что-то еще. Windows7 позволит вам сопоставить букву диска с FTP-службой. FTP работает быстро. Затем используйте NULL FTP-сервер для запуска ftp-сайта на удаленной машине. Также вы можете написать DOS скрипт для автоматической загрузки / извлечения файлов из местоположения, если это то, что вам нужно.