Медленная передача файлов по сети
Копирование на network share, NAS или сервер мучительно медленное
⚠ Типичные симптомы
- Копирование файла на 1 ГБ на сетевой диск занимает много минут вместо секунд
- Скорость передачи сильно скачет — то быстро, то внезапно зависает
- Локальное копирование (на том же ПК) происходит мгновенно, а по сети — медленно
- По Wi-Fi скорость хуже, чем по кабелю
-
1
Переключитесь на проводное Ethernet-подключение
Передача по Wi-Fi ограничена качеством сигнала, помехами и protocol overhead. Gigabit Ethernet должен давать 100–115 МБ/с — если по кабелю тоже медленно, проблема в другом; идём дальше.
-
2
Проверьте duplex mismatch на сетевом адаптере
Device Manager → Network Adapters → правый клик на Ethernet-адаптере → Properties → Advanced → установите Speed & Duplex в 1.0 Gbps Full Duplex (не Auto Negotiate). Mismatch здесь сильно снижает throughput.
-
3
Проверьте фоновые процессы, нагружающие диск или сеть
Вкладки Task Manager → Performance → Disk / Network. Около 100% во время передачи? Значит конкурирует какое-то фоновое приложение (антивирус, backup-софт, Windows Update) — приостановите его и протестируйте заново.
-
4
Отключите SMB1 и убедитесь, что используется SMB3
Передаёте на Windows file share? Старый SMB1 значительно медленнее и менее безопасен, чем SMB3. Выполните это в elevated PowerShell, чтобы проверить и отключить его:
# Check SMB1 status
Get-SmbServerConfiguration | Select EnableSMB1Protocol
# Disable SMB1 if enabled
Set-SmbServerConfiguration -EnableSMB1Protocol $false -
5
Осмотрите физический кабель и порт коммутатора
Повреждённый кабель может auto-negotiate вниз до 100 Мбит/с (ограничивая передачу до 12 МБ/с) → попробуйте другой кабель + порт коммутатора. Проверьте индикатор: оранжевый/жёлтый = 100 Мбит/с, зелёный = gigabit.
-
1
Переключитесь на проводное Ethernet-подключение
Адаптер USB-C/Thunderbolt-to-Ethernet → подключите напрямую к роутеру/коммутатору → повторите копирование файла и сравните скорость.
Gigabit должен давать 100–115 МБ/с до локального сервера или NAS. Всё ещё медленно по кабелю? Bottleneck — в destination или кабеле, а не в вашем Mac или Wi-Fi. -
2
Убедитесь, что адаптер согласовывает соединение на скорости gigabit
Apple menu → About This Mac → System Report → Network → проверьте Media Subtype для вашего Ethernet-интерфейса — должно быть
Auto Select 1000baseT.
Либо проверьте через Terminal:networksetup -getMedia EthernetIf the result shows
100baseT, you have a duplex mismatch or a damaged cable. Try a different Cat5e or Cat6 cable and a different port on the network switch. -
3
Проверьте фоновые процессы, нагружающие диск или сеть
Activity Monitor (Spotlight → Activity Monitor) → вкладка Network → проверьте Sent Bytes/s / Rcvd Bytes/s на предмет процессов, пожирающих bandwidth → вкладка Disk → проверьте высокую нагрузку на запись.
Частые виновники: Time Machine (приостановите в System Settings → General → Time Machine → Skip This Backup), Spotlight indexing (mds_stores), антивирус, сканирующий входящие файлы. -
4
Подключитесь к share через SMB и force SMB2/3
Finder:
⌘K→ введитеsmb://server-ip-or-name/share→ Connect. По умолчанию macOS использует SMB2/3, но откатывается на более медленный SMB1, если сервер его предлагает. Чтобы проверить и принудительно установить минимум SMB2, выполните в Terminal:# Confirm which SMB version is in active use
smbutil statshares -a
# Force SMB2 as the minimum (survives reboots)
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server MinimumProtocol SMB2_10 -
5
Осмотрите физический кабель и порт коммутатора
Повреждённый или некачественный кабель может auto-negotiate вниз до 100 Мбит/с (ограничивая передачу ~12 МБ/с).
Замените на заведомо исправный кабель Cat5e/Cat6 → попробуйте другой порт коммутатора. Проверьте индикатор: жёлтый/оранжевый = 100 Мбит/с, зелёный = gigabit.
-
1
Переключитесь на проводное Ethernet-подключение и проверьте link speed
# Check your Ethernet adapter's negotiated speed
ethtool eth0 | grep -E "Speed|Duplex"
# Install ethtool if needed
sudo apt install ethtool -yДолжно показывать
Speed: 1000Mb/sиDuplex: Full— всё, что ниже, означает duplex mismatch или плохой кабель. -
2
Force 1 Gbps Full Duplex, чтобы исправить duplex mismatch
# Set speed and duplex manually (replace eth0)
sudo ethtool -s eth0 speed 1000 duplex full autoneg off
# Make persistent across reboots via NetworkManager
nmcli con mod "Wired connection 1" 802-3-ethernet.speed 1000
nmcli con mod "Wired connection 1" 802-3-ethernet.duplex full -
3
Проверьте процессы, конкурирующие за диск и сеть
# Monitor I/O per process
sudo iotop -o
# Install iotop if missing
sudo apt install iotop -y
# Check overall disk and network usage
iostat -x 1 5 -
4
Проверьте и отключите SMB1 для передач через Samba
# Check your Samba version and SMB protocol
smbclient --version
# Edit smb.conf to disable SMB1
sudo nano /etc/samba/smb.confВ секции
[global]добавьте:min protocol = SMB2
max protocol = SMB3sudo systemctl restart smbd -
5
Осмотрите физический кабель
# Check interface errors — high error count = bad cable
ip -s link show eth0
# Watch for TX/RX errors in real time
watch -n 1 cat /proc/net/devРастущее число ошибок при заведомо исправном кабеле → неисправный NIC или порт коммутатора. Попробуйте другой порт коммутатора.
Quick test: Copy the same file locally between two folders on your PC first. If that's also slow, the bottleneck is your disk, not the network — check for a failing drive or a near-full SSD before blaming the network.