1

I have a need to transfer about 200GB of data from MacBook to PC on regular basis. Since both devices are wirelessly connected to my router I'm using local network provided by router to transfer files (mostly photos from 10 to 100MB in size). But data transfer rate is way too slow: 2 Megabytes per second. Simple calculations: 200 000MB / 2MB / 60s / 60min = 28 hours what approximately matches my real life results.

I'm curious if it is limitation of the router or I'm doing something terribly wrong? I'm failing to find any relevant spec for such setup in their docs. To my understanding I should be limited by maximum upload speed 122Megabit / 8 = 15.25 Megabyte per second what should give almost 8 times faster transfer rate than I observe.

PS It is very unlikely that I'm limited by IO of my hard drives on both ends I do have NVMe SSDs and Task Manager/Activity Monitor show almost no load on CPU and hard drives. I've also tried to disconnect all other devices from the router (phones, tablets, etc) and close all internet connections on PC and Mac what gave some minor improvements: 3MB/s was the top speed I was able to squeeze.

Q&A for comments

>> What router do you have?

Model is mentioned in the question's title: Netgear N600 C3700

>> Details for Wi-Fi controllers on the ends of the chain

PC

Wi-Fi: Intel® Wi-Fi 802.11 a/b/g/n/ac, supporting 2.4/5 GHz Dual-Band. Support for 11ac wireless standard and up to 433 Mbps data rate.

LAN: Intel® GbE LAN chip (10/100/1000 Mbit)

Macbook Pro 13" 2016

802.11ac Wi-Fi wireless networking; IEEE 802.11a/b/g/n compatible

>> Where are your computers located, in relation to the router?

PC <-> Router - side by side

Macbook <-> Router - under 1 meter (3 feet)

Update #1

I've tried to connect my PC to the router with the cord instead of Wi-Fi and got 3-4x file transfer speed gain (7-8MB/s vs original 2-3MB/s). As a side effect I've also got 3x Internet speed boost (From 20-25Mb/s to 70-75Mb/s. It appears that Wi-Fi connection was a bottleneck and I was not taking full advantage from the bandwidth I'm paying for to ISP)! The next thing I maybe will try is purchasing Thunderbolt to Ethernet adapter ($20-$30 vs at least $100 external storage solution of appropriate size).

Update #2

iperf outputs when PC is connected to the router with cord

Macbook is server

iperf3.exe -c 192.168.0.14
Connecting to host 192.168.0.14, port 5201
[  4] local 192.168.0.17 port 2734 connected to 192.168.0.14 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   640 KBytes  5.23 Mbits/sec
[  4]   1.00-2.00   sec  1.00 MBytes  8.40 Mbits/sec
[  4]   2.00-3.00   sec  1.00 MBytes  8.38 Mbits/sec
[  4]   3.00-4.00   sec  1.00 MBytes  8.40 Mbits/sec
[  4]   4.00-5.00   sec   896 KBytes  7.34 Mbits/sec
[  4]   5.00-6.00   sec   512 KBytes  4.19 Mbits/sec
[  4]   6.00-7.00   sec  1.00 MBytes  8.40 Mbits/sec
[  4]   7.00-8.00   sec   384 KBytes  3.14 Mbits/sec
[  4]   8.00-9.00   sec  1.00 MBytes  8.39 Mbits/sec
[  4]   9.00-10.00  sec   896 KBytes  7.34 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  8.25 MBytes  6.92 Mbits/sec    sender
[  4]   0.00-10.00  sec  8.25 MBytes  6.92 Mbits/sec    receiver

PC is server

iperf3.exe -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.0.14, port 60856
[  5] local 192.168.0.17 port 5201 connected to 192.168.0.14 port 60857
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   981 KBytes  8.04 Mbits/sec
[  5]   1.00-2.00   sec  1.67 MBytes  14.0 Mbits/sec
[  5]   2.00-3.00   sec  1.66 MBytes  13.9 Mbits/sec
[  5]   3.00-4.00   sec  1.53 MBytes  12.8 Mbits/sec
[  5]   4.00-5.00   sec  1.31 MBytes  11.0 Mbits/sec
[  5]   5.00-6.00   sec  1.33 MBytes  11.2 Mbits/sec
[  5]   6.00-7.00   sec  1.53 MBytes  12.8 Mbits/sec
[  5]   7.00-8.00   sec  1.26 MBytes  10.5 Mbits/sec
[  5]   8.00-9.00   sec   763 KBytes  6.24 Mbits/sec
[  5]   9.00-10.00  sec   275 KBytes  2.26 Mbits/sec
[  5]  10.00-10.11  sec  9.98 KBytes   719 Kbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.11  sec  0.00 Bytes  0.00 bits/sec     sender
[  5]   0.00-10.11  sec  12.3 MBytes  10.2 Mbits/sec   receiver

Correct me if I'm wrong but these results look 10 times slower comparing to 7-8Mbytes/sec I'm getting when transferring files from MBP to PC...

Update #3

So, I've looked into my router's configuration and discovered that it serves two Wi-Fi networks (2.4GHz b/g/n and 5GHz a/n). I've told Macbook to connect to 5Ghz network (I was connected to 2.4Ghz one when I got all previous results...) and moved it as close as possible to the router. Here is what iperf told to me:

Macbook is server (the case I'm looking forward to optimize)

iperf3.exe -c 192.168.0.14
Connecting to host 192.168.0.14, port 5201
[  4] local 192.168.0.17 port 2912 connected to 192.168.0.14 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  23.8 MBytes   199 Mbits/sec
[  4]   1.00-2.00   sec  23.9 MBytes   200 Mbits/sec
[  4]   2.00-3.00   sec  24.1 MBytes   203 Mbits/sec
[  4]   3.00-4.00   sec  23.6 MBytes   198 Mbits/sec
[  4]   4.00-5.00   sec  24.0 MBytes   201 Mbits/sec
[  4]   5.00-6.00   sec  24.0 MBytes   202 Mbits/sec
[  4]   6.00-7.00   sec  24.0 MBytes   201 Mbits/sec
[  4]   7.00-8.00   sec  24.4 MBytes   204 Mbits/sec
[  4]   8.00-9.00   sec  23.9 MBytes   200 Mbits/sec
[  4]   9.00-10.00  sec  24.0 MBytes   201 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   240 MBytes   201 Mbits/sec   sender
[  4]   0.00-10.00  sec   240 MBytes   201 Mbits/sec   receiver

Window's file explorer peaks at 20+MB/sec! What leads us to 10x speed boost compared to my initial setup!

TODO for Update #4

Out of curiosity I want to get Thunderbolt to Ethernet adapter and see what I can max out from all these puzzle pieces.

3
  • 1
    What router do you have? Where are your computers located, in relation to the router? If your computers are quite far away from the router, the negotiated speed could be a lot slower than you're expecting. Though 2 Mbps is still extremely slow. Another thing you could do is try a program called iPerf. It's like a speedtest for two computers that are on the same LAN. You could then see if it's still only getting 2 Mbps.
    – DrZoo
    Oct 18, 2018 at 18:35
  • 1
    If I understand your question correctly, your local speed would not be affected by the ISP upload/download rate you are paying for. It would be the max speed of the routers wireless radio, divided by the computers actively using the the wireless network. You need to add more info to get a decent answer, there are alot of variables to consider. 1. Make /model number of the router. 2. Wireless adapters in use (you will be limited by the common denominator) 3. Have you performed a wireless site survey around the house? Oct 18, 2018 at 19:24
  • @DrZoo, Tim_Stewart thank you for your suggestions. I've added a little bit more info to the question and will be happy to hear back your thoughts. Oct 19, 2018 at 16:50

1 Answer 1

2

Your calculation of expected bandwidth is slightly generous but approximately correct if both your Mac's and your PC's Wi-Fi NICs support:

  • At least 2 spatial streams (2SS, 2x2:2)
  • 40MHz wide channels (HT40)
  • Short guard intervals (Short GI, SGI)
  • 802.11n's fastest 2SS modulation & coding scheme (MCS 15)
  • Are both joined to the 5GHz radio on your AP
  • Are both close enough to the AP to get enough signal strength to maintain MCS 15.
  • Have no significant interference present
  • Have nothing else contending for airtime on that channel
  • If you're using a very efficient file transfer protocol to transfer your files.

This is the long way of saying, "If they're both truly able to get your AP's max 300Mbps data rate all the time, and everything else is the best it can be."

A more conservative estimate, still based on ideal or nearly-ideal conditions, is 90 Megabits/sec = ~11 MebiBytes/sec. That's still a lot more than you're seeing. As you can see, there's a long list of factors you could look into for why you're not getting that speed.

If both your Mac and PC support Ethernet, even just 100Mbps Ethernet is going to be faster than what you're seeing, and gigabit Ethernet will be much much faster. You should be able to get 94 Megabits/sec (11 MebiBytes/sec) over 100BASE-T, and 940 Megabits/sec (112 MebiBytes/sec) over gigabit Ethernet.

Update after your update with client WNIC details:

So:

  • Your PC is 1SS (1x1:1) 802.11ac with support for MCS 9x1 (433 Megabits/sec)
  • Your MacBook Pro is 2SS (2x2:2) 802.11ac with support for MCS 9x2 (867 Megabits/sec).
  • Your router is only 802.11n HT40 (300 Megabits/sec).

It's unfortunate that the different flavors of Wi-Fi you have don't overlap well. When talking to each other, a Wi-Fi client and AP can only use the speedups they both support. So the max data rate between your AP and your Mac is 300 Megabits/sec, and the max data rate between your AP and your PC is just 150 Megabits/sec.

All client-to-client Wi-Fi transmissions go first from the source client to the AP, and then from the AP to the destination client, which means the airtime is split between the two clients.

Redoing my calculations based on all this info, I expect you can only get 60 Megabits/sec (7 MebiBytes/sec) with both devices on 5GHz Wi-Fi on this AP, in ideal or near-ideal conditions.

With your PC on Ethernet and your Mac on 5GHz Wi-Fi, I'd expect you to be able to get about 180 Megabits/sec (21 MebiBytes/sec) in ideal or near-ideal conditions.

I agree with your inclination to pick up an Apple Thunderbolt GigE adapter for your MacBook. Apple's adapter uses a quality Broadcom GigE chip. You could get a cheaper third-party USB 3 GigE adapter that might be able to get full GigE speeds, but you get what you pay for; most USB 3 GigE adapters use lower-quality GigE chips for cost savings.

You might also want to run an quick iperf test between the two machines to see what speed an known-to-be-very-efficient tool can get between your devices. There's no good reason for file transfers to be slower than iperf, so if iperf is faster than your file transfers, you know your file transfer software/protocol is introducing a lot of overhead and slowing things down.

3
  • thank you for the answer! I've updated my Q with some additional info and my current progress on improving transfer speeds. Do not hesitate to share your thoughts if the new info is helpful. Oct 19, 2018 at 16:47
  • 1
    @PavelShkleinik Thanks for the update. Technical questions require technical details like that. I've updated my Answer based on the details you revealed. The short answer is still that you should be doing this big of a file transfer over wired gigabit Ethernet or better.
    – Spiff
    Oct 19, 2018 at 19:22
  • I'm not sure that I've totally understood all the information you shared, but that tiny bits of it that came through thick bones of my head were enough to improve transfer speed in 10 times! Key take aways for me were: connect Macbook to 5G and use cord for PC. I've posted couple more updates maybe you'll be interested to see how close were your calculations. Thank you! Oct 20, 2018 at 6:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.