If my Wi-Fi speed is 64 Mbit/s why do I get nowhere near it?

I was transferring a file from one computer to another. When my two computers were far from the router I was getting 1 megabyte per second, but when I had my laptop next to the router I was getting close to 3. However on Windows it says my Wi-Fi speed is 64 Mbit/s. Shouldn't that be around 8 megabytes per second? Shouldn't I be getting 3.5+ easily? Why am I getting sub 3?

I tried using an adhoc connection, and I was getting 3.5 Mbit/s when my laptop and desktop were next to each other. It is still much lower than 64 Mbit/s.


Solution 1:

Wi-Fi is half duplex and has more overhead than Ethernet, so you never see TCP/IPv4 thruput even as high as 80% of your physical signalling rate (known as a "PHY rate").

Plus, when sending wireless to wireless, every packet takes up channel airtime twice: once from the source to the AP, then again from the AP to the destination.

So assuming both clients are getting a PHY rate of 64Mbps to/from the AP, first we divide that in half because of wireless to wireless (=32Mbps), then we multiply by, say, 0.7 to estimate 70% efficiency (=22.4Mbps), then we divide by 8.4 to roughly convert from megabits to MebiBytes, for an estimated TCP/IPv4 throughput of 2.66 MebiBytes/sec.

Add to that the potential protocol overhead of whatever you're using to copy your files (remote filesystem protocols like SMB are often inefficient), and it's almost a surprise you're getting much more than 2 MebiBytes/sec even assuming a constant PHY rate of 64Mbps.

Solution 2:

Have you performed a network survey/scan to see if there are any other WiFi networks around you? You don't say what frequency your network is operating on, but if it's 2.4GHz then there are only three (sometimes fewer) channels that do not overlap.

If anyone else has a WiFi network close to the channel you are on, then sometimes their network will transmit on some of the same frequencies your network is using, causing interference. This results in the packets being resent, increasing latency and lowering overall bandwidth.

If their network is on the same channel as yours, then you will be constantly trampling on each others' traffic. A WiFi connection speed of 64Mbps is a little unusual (it's not a common speed), which suggests that there could be quite a bit of interference.

If you do a scan with a program (or phone app) that lists what channels each network is on then this might give you a hint about whether moving your network to another channel might improve your signal quality.

If you are able to move your whole WiFi network to 5GHz instead (and all devices you wish to connect work at 5GHz), then the larger number of available channels will give you much more breathing room.