Slow File Transfer Over the Network

Copying to a network share, NAS, or server is painfully slow? Work through these steps in order — duplex mismatches (step 2) are the most common hidden cause.

Advertisement · 728×90
📁

Slow File Transfer Over the Network

Copying to a network share, NAS, or server is painfully slow

⚠ Common symptoms

  • Copying a 1 GB file to a network drive takes many minutes instead of seconds
  • Transfer speeds fluctuate wildly — fast then suddenly stalls
  • Copying locally (same PC) is instant, but network copies are slow
  • Speeds are worse on Wi-Fi than when wired
  • 1

    Switch to a wired Ethernet connection

    Wi-Fi transfers are limited by signal quality, interference, and protocol overhead. Gigabit Ethernet should hit 100–115 MB/s — if wired is also slow, the issue is elsewhere; keep going.

  • 2

    Check for a duplex mismatch — don't force Gigabit manually

    Device Manager → Network Adapters → right-click Ethernet adapter → Properties → Advanced → check Speed & Duplex. 1.0 Gbps Full Duplex or Auto Negotiate are both correct for gigabit. If it's stuck at 100 Mbps or Half Duplex, don't force it to 1 Gbps — gigabit auto-negotiation is required by spec, and forcing it can break the link entirely on many adapters. A stuck-at-100Mbps link almost always means a bad cable or port, not a setting — see step 5.

  • 3

    Check for background processes consuming disk or network I/O

    Task Manager → Performance → Disk / Network tabs. Near 100% during transfer? A background app (antivirus, backup software, Windows Update) is competing — pause it and retest.

  • 4

    Disable SMB1 and ensure SMB3 is in use

    Transferring to a Windows file share? Old SMB1 is dramatically slower and less secure than SMB3. Run this in elevated PowerShell to check and disable it:

    # Check SMB1 status
    Get-SmbServerConfiguration | Select EnableSMB1Protocol

    # Disable SMB1 if enabled
    Set-SmbServerConfiguration -EnableSMB1Protocol $false
  • 5

    Inspect the physical cable and switch port

    A damaged cable can auto-negotiate down to 100 Mbps (capping transfer at 12 MB/s) → try a different cable + switch port. Check the indicator light: orange/amber = 100 Mbps, green = gigabit.

  • 1

    Switch to a wired Ethernet connection

    USB-C/Thunderbolt-to-Ethernet adapter → connect directly to router/switch → re-run the file copy and compare speed.

    Gigabit should give 100–115 MB/s to a local server or NAS. Still slow when wired? The bottleneck is the destination or cable — not your Mac or Wi-Fi.

  • 2

    Verify your adapter is negotiating at gigabit speed

    Apple menu → About This Mac → System Report → Network → check Media Subtype for your Ethernet interface — should read Auto Select 1000baseT.

    Or check from Terminal:

    networksetup -getMedia Ethernet

    If 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

    Check for background processes consuming disk or network I/O

    Activity Monitor (Spotlight → Activity Monitor) → Network tab → check Sent Bytes/s / Rcvd Bytes/s for bandwidth hogs → Disk tab → check for high writes.

    Common offenders: Time Machine (pause at System Settings → General → Time Machine → Skip This Backup), Spotlight indexing (mds_stores), antivirus scanning incoming files.

  • 4

    Connect to the share using SMB and force SMB2/3

    Finder: ⌘K → enter smb://server-ip-or-name/share → Connect. macOS defaults to SMB2/3, but falls back to slower SMB1 if the server advertises it. To check and enforce minimum SMB2, run in 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

    Inspect the physical cable and switch port

    A damaged/low-quality cable can auto-negotiate down to 100 Mbps (capping transfers ~12 MB/s).

    Swap for a known-good Cat5e/Cat6 cable → try a different switch port. Check the indicator light: amber/orange = 100 Mbps, green = gigabit.

  • 1

    Switch to a wired Ethernet connection and check link speed

    # Check your Ethernet adapter's negotiated speed
    ethtool eth0 | grep -E "Speed|Duplex"

    # Install ethtool if needed
    sudo apt install ethtool -y

    Should show Speed: 1000Mb/s and Duplex: Full — anything lower means duplex mismatch or a bad cable.

  • 2

    Don't force Gigabit — check for cable/interface errors instead

    If step 1 showed a speed below 1000Mb/s, resist forcing it — gigabit auto-negotiation is required by spec (IEEE 802.3ab), and disabling it can break the link on many adapters. A stuck-at-100Mb/s connection is almost always a bad cable, port, or an old switch — replace the cable and try a different port (step 5) before touching adapter settings. Check for rising error counts to confirm a cable/port fault:

    # Rising error/drop counts confirm a bad cable or port
    ethtool -S eth0 | grep -iE "error|drop"
  • 3

    Check for processes competing for disk and network I/O

    # 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

    Check and disable SMB1 for Samba transfers

    # Check your Samba version and SMB protocol
    smbclient --version

    # Edit smb.conf to disable SMB1
    sudo nano /etc/samba/smb.conf

    Under [global], add:

    min protocol = SMB2
    max protocol = SMB3
    sudo systemctl restart smbd
  • 5

    Inspect the physical cable

    # 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

    Rising error counts with a known-good cable → faulty NIC or switch port. Try a different switch port.

💡

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.

Advertisement · 728×90

Related Questions

Quick answers for this issue

First, switch to a wired Ethernet connection if you're on Wi-Fi. Then check your Ethernet adapter settings in Device Manager — it should read 1.0 Gbps Full Duplex or Auto Negotiate; if it's stuck at 100 Mbps, replace the cable rather than forcing gigabit manually, since that can break the link on many adapters. Also check that SMB1 is disabled on the server (use SMB3 instead — it's significantly faster). Finally, check Task Manager for antivirus or backup software scanning files in real time during the transfer, which can cut throughput by 80%.
Internet speed tests measure your connection to the public internet. File transfers to a local network drive or NAS depend entirely on your local network's wired/Wi-Fi speed, duplex settings, and the SMB protocol version — these are independent of your internet speed. See our Slow Network guide if your general internet is also slow.
This pattern is typical of a write cache filling up on the destination drive (common with USB external drives and some NAS units) — the initial burst is fast RAM-cache speed, then it drops to the drive's real sustained write speed. It can also indicate thermal throttling on the NIC during sustained transfers. Try a smaller test file first to compare burst vs. sustained speed.
🧑‍💻

Transfers still slow? The bottleneck might be in the switch or server.

Switch configuration, cabling faults, and server-side SMB settings often need network-level access to diagnose and fix. Connect with a verified IT technician for remote or on-site support.

Talk to a Technician
Advertisement · 728×90