СЕРВИСНЫЕ УСЛУГИ
СТУДИЯ В ЛИПЕЦКЕ

Советы · Windows · 6 минут

По гигабитной сети файлы копируются медленно: как найти ограничение SMB

Как проверить медленное копирование по гигабитной сети: линк, диски, размер файлов, SMB, нагрузку процессора и повторяемость измерений без отключения подписи.
Ethernet-коммутатор и подключённые кабели. Итоговая скорость копирования зависит от всего пути между исходным и целевым дисками, а не только от номинала одного порта.

Ethernet-коммутатор и подключённые кабели. Итоговая скорость копирования зависит от всего пути между исходным и целевым дисками, а не только от номинала одного порта.
Raysonho @ Open Grid Scheduler / Grid Engine · источник и условия использования · CC0 1.0

Переведите скорость в одинаковые единицы

Гигабитный линк означает один миллиард бит в секунду. Деление на восемь даёт арифметический предел 125 миллионов байт в секунду — 125 MB/s, ещё до служебных расходов. В двоичных MiB/s число будет другим. Поэтому 1 Gbps и 1 GB/s — не одинаковые величины.

Не задавайте универсальную «правильную скорость» по одному скриншоту. Сравнивайте длительную передачу своего набора файлов при фиксированных условиях, записывая единицы. Пиковая цифра первых секунд может отражать буферизацию, а не устойчивую запись на NAS.

Скорость ограничивает вся цепочка
  1. Исходный дискСколько данных он реально читает
  2. Клиент и сетьCPU, интерфейс, кабель, коммутатор
  3. SMB-соединениеЗадержка, защита и характер операций
  4. NAS и целевой дискCPU, массив и длительная запись

Схема редакции «Мы из 90х».

Арифметический предел без накладных расходов
ЛинкДесятичные MB/sДвоичные MiB/s
100 Mbps12,5около 11,9
1 Gbps125около 119,2

Расчёт единиц редакции. Это не результаты теста и не обещанная скорость копирования.

Учебная таблица редакции.

Подготовьте воспроизводимую проверку

Выберите обычный большой файл, например несколько гигабайт уже сжатого видео, и отдельную папку с большим количеством небольших файлов. Используйте свои несекретные данные, которые не меняются во время опыта. Для назначения создайте новую тестовую папку со свободным местом; не копируйте поверх единственной рабочей версии.

Запишите направление, размер, количество файлов, длительность, клиента, NAS, интерфейс и фоновые задания. Копирование на NAS и с NAS проверяет разные сочетания чтения и записи. Выполните несколько повторов и отмечайте, был ли файл уже в кэше. Сравнение «первый запуск против повторного» без этой оговорки вводит в заблуждение.

Бланк измерений — заполнить своими результатами
ПроверкаЧто записать
Один большой файл на NASОбъём, время, среднюю скорость, загрузку дисков
Тот же тип файла с NASТе же поля для обратного направления
Много малых файловКоличество, общий объём, время
Повторный запускКэш, изменённые условия и фоновые задания

Измеренных скоростей в этой таблице нет.

Учебная таблица редакции.

Проверьте линк на обеих сторонах

В PowerShell клиента:

PowerShell

Get-NetAdapter |
  Select-Object Name, InterfaceDescription, Status, LinkSpeed

Смотрите именно используемый интерфейс. Включённый Wi‑Fi и быстрый Ethernet не доказывают, что SMB пошёл по кабелю. Адрес сервера и InterfaceAlias покажет Test-NetConnection к порту 445. На NAS проверьте скорость его порта, а на управляемом коммутаторе — согласованный линк и ошибки соответствующих портов. [1], [2]

Линк 100 Mbps вместо 1 Gbps направляет к кабелю, разъёмам, порту и автосогласованию. Не задавайте вручную duplex и jumbo frames наугад: несовместимые параметры способны ухудшить связь. Для сравнения замените один кабель или порт и повторите тот же опыт.

Проверьте диски и нагрузку CPU во время передачи

На клиенте откройте Диспетчер задач и Монитор ресурсов (resmon.exe). На NAS используйте штатный монитор. Смотрите одновременно сетевой трафик, активность и задержки дисков, общую загрузку и отдельные ядра CPU. Одно занятое ядро иногда ограничивает поток при невысокой общей загрузке.

Проверьте фоновые процессы: построение RAID, проверку массива, снимки, индексацию, антивирус и резервное копирование. Сначала зафиксируйте их присутствие; не отменяйте обслуживание массива ради красивой цифры. Временное насыщение кэша объясняет ситуацию «сначала быстро, потом медленно»; Microsoft отдельно отмечает различие пиковой и устойчивой производительности хранения. [3]

Локальное копирование с чтением и записью на одном диске само конкурирует за устройство. Такой опыт нельзя без оговорок считать чистым измерением максимального чтения источника или записи назначения. Для строгого сравнения нужны независимые источники и приёмники либо профильный тест с понятными параметрами.

Сравните большой файл и множество маленьких

У небольшого файла значительную долю времени занимают создание, открытие, проверка прав, метаданные и закрытие. Повторение этих операций тысячи раз может дать низкие мегабайты в секунду при исправном гигабитном линке. Большой файл распределяет накладные расходы иначе. [3]

Для пробной многопоточной передачи папки в отдельное назначение:

Командная строка

robocopy "D:\BenchSource" "\\NAS\Bench\SmallFiles" /E /MT:8 /COPY:DAT /DCOPY:DAT /XJ /R:1 /W:1 /NP /LOG:"D:\Bench-SmallFiles.log"

Все пути учебные. Убедитесь, что источник и назначение разные, и замените их. /MT:8 создаёт восемь потоков, а не обещает восьмикратный рост скорости. Слишком много потоков может перегрузить слабый NAS; сравните с тем же набором без /MT. /E копирует подпапки, /XJ исключает точки соединения, ограниченные повторы не дают часами ждать одну ошибку. /MIR здесь не нужен. [4]

После передачи читайте итоговую сводку и код завершения. Robocopy при коде от 8 сообщает как минимум об одной ошибке; коды ниже 8 тоже требуют понимания итогов, особенно пропусков и несовпадений. Ошибка копирования не становится хорошим измерением скорости.

Для каждого замера используйте новое пустое назначение. Повтор той же команды в уже заполненную папку может пропустить совпадающие файлы. Тогда вы измерите проверку метаданных вместо передачи. Для второго опыта, например без /MT, выберите другое пустое тестовое назначение и оставьте тот же набор источника. Итоговые число скопированных файлов и байт должны соответствовать сравнению.

Для большого файла сравните обычный ввод-вывод и /J

Microsoft предлагает для больших файлов рассмотреть небufferизованный ввод-вывод Robocopy /J. Проверьте его отдельным опытом в новой папке назначения:

Командная строка

robocopy "D:\BenchSource" "\\NAS\Bench\LargeFile" "sample.bin" /J /COPY:DAT /R:1 /W:1 /NP /LOG:"D:\Bench-LargeFile.log"

Файл sample.bin должен реально существовать в выбранном источнике; имя здесь условное. /J — характеристика пути ввода-вывода, а не универсальный ускоритель. Сравнение имеет смысл при одинаковом файле, состоянии хранилища и направлении. Не совмещайте сразу несколько изменений. [3], [4]

SMB-сжатие может помогать с хорошо сжимаемыми данными, но уже сжатое видео или архив ведут себя иначе. Результат на разреженном образе виртуальной машины нельзя автоматически переносить на семейный архив JPEG и MP4.

Посмотрите, каким получилось SMB-соединение

Во время копирования:

PowerShell

Get-SmbConnection | Format-List *
Get-SmbMultichannelConnection | Format-List *

Сохраните сервер, диалект, пользователя и доступные свойства защиты; во втором выводе — используемые каналы, если они есть. Пустой список Multichannel не означает сам по себе неисправность. Несколько портов NAS и агрегирование каналов на коммутаторе не гарантируют ускорение одного клиентского потока. [5], [6]

Подпись и шифрование могут расходовать CPU, особенно на старом оборудовании. Однако отключение подписи в качестве общего ускорения Microsoft не рекомендует. Если нагрузка действительно упирается в обработку защиты, рассматривают обновления прошивки и драйверов, аппаратные возможности и архитектуру хранилища. [3], [7]

Привяжите следующее действие к наблюдению

Если оба направления одинаково ограничены согласованными 100 Mbps, сначала исправляют линк. Если медленна только запись и перегружены диски NAS, исследуют массив и фоновые операции. Если большой файл идёт хорошо, а мелкие медленно, сравнивают задержку и многопоточность. Если скорость падает только через VPN, отдельно измеряют путь туннеля и задержку.

Для обращения в поддержку пригодятся повторяемая команда, размер и число файлов, время, единицы скорости, версии клиента и NAS, диалект SMB и одновременные наблюдения за CPU, дисками и интерфейсом. Сохраните эти данные до изменения настроек. Проверенная причина — это изменение конкретного участка, после которого тот же опыт воспроизводимо улучшается без ошибок копирования.

Made on
Tilda