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

59

18

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.

user3109

Posted 2017-07-16T19:49:23.977

Reputation:

3For converting bits to bytes in networking it is better to use the formula of 10 bits = 1 byte instead of the traditional 8 bit = 1 byte. This is because in wired serial networking you sometimes literally have 10 bits for 1 byte, 1 start bit, 8 data bits, 1 stop bit = 10 bits. For more modern networking that uses larger frames you still have overhead of packet header. For wireless networking you'll have overhead of synchronisation on top of packet header. I've learned to use 10bits = 1byte to get a good rough idea of actual troughput. The quoted Mbps include things that are not your data – slebetman – 2017-07-17T15:51:48.193

2Pay attention to whether the 'b' is capitalized or not. A capital 'B' indicates 'bytes' (8 bits). A lowercase 'b' indicates 'bits'. – Dan Esparza – 2017-07-18T19:16:08.727

Related, but Powerline-version: https://superuser.com/a/1213468/53108

– usr-local-ΕΨΗΕΛΩΝ – 2017-07-19T07:46:24.320

1@DanEsparza: Or at least that's the idea, not everyone follows conventions. Eg. 1 Kb is likely to be 1024 bytes. – Oskar Skog – 2017-07-19T13:56:43.663

What are you transferring the files with? A normal copy operation isn't designed to maximize bandwidth utilization, so try something like Robocopy(https://technet.microsoft.com/en-us/library/ee851678.aspx) or it's equivalent for your OS.

– RBarryYoung – 2017-07-19T14:45:52.333

have you tried hard resetting the modem and router? – Brian D – 2017-07-19T14:48:50.947

Answers

110

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.

Spiff

Posted 2017-07-16T19:49:23.977

Reputation: 84 656

Comments are not for extended discussion; this conversation has been moved to chat.

– Mokubai – 2017-07-17T12:51:49.370

5Is "MebiByte" commonly used in the industry? I had always heard that by default, the term "megabyte" automatically refers to "mebibytes" except in hard drive advertisements or when otherwise clearly specified. EDIT: Per Wikipedia, "Despite its official status, the unit mebibyte is not commonly used even when reporting byte counts calculated in binary multiples". For this reason I always thought of "megabyte" as a de facto synonym for "mebibyte" outside of HDD ad contexts, even though it can be technically defined differently as exactly 1 million bytes. – Darren Ringer – 2017-07-17T20:24:58.783

2It might be domain-centric when speaking of the "industry". While I know of the convention set by IEEE, I've never seen it used in the SW-development I've been part of so far, and was barely mentioned when I took my EE classes ages ago. More than anything, I would wonder more about who exactly is using the 1,000-bit kilobyte over the 1024-bit kilobyte to where the difference needs to be distinguished in the first place. – kayleeFrye_onDeck – 2017-07-17T21:39:37.887

7@DarrenRinger Computer nerds have been abusing the clearly-defined, long-standardized SI prefixes for as long as there have been computers, but I think there is a movement afoot to end that archaic practice in the name of usability and correctness. The macOS Finder (filesystem browser) switched to using proper (decimal) SI prefixes a few years ago, for example. I'm seeing more file transfer tools list speeds in KiB/MiB/GiB. I think getting it right is good for users and good for accuracy in measurement/conversion/comparison. – Spiff – 2017-07-17T21:52:28.923

4@kayleeFrye_onDeck It needs to be distinguished as I did in my Answer: network and bus speeds are almost always in proper (decimal) SI prefixes of bits, but disk and file I/O speeds are almost always in binary prefixes of Bytes. So converting "gigabits" to so-called "gigabytes" is a factor of 8.6, not 8. Note that to convert from gigabits to "gigabytes" (really GibiBytes), if you only want to use a single-digit conversion factor, 9 is a more accurate choice than 8, because 8.6 is closer to 9 than 8. :-) – Spiff – 2017-07-17T22:03:58.970

3I always heard the argument against considering it an abuse of SI units as: bytes are a discrete quantity, and not technically SI units [which are specifically meter, kilogram, second, ampere, kelvin, candela, and mole - classically, all continuous quantities], and thus the use of "mega" and "kilo" in the context of bytes is not an invocation of SI prefixes at all. EDIT: I see you are now distinguishing about use cases to answer my original question about domain specificity. I guess when dealing with the huge number of bytes as in with modern networks they may as well be considered continuous. – Darren Ringer – 2017-07-17T22:29:19.820

Makes sense; I've never dealt with bus speeds or network-traffic measurement programmatically-speaking. I wasn't aware of the wider-adoption, lately. – kayleeFrye_onDeck – 2017-07-17T22:38:31.460

2@DarrenRinger si prefixes are used for measures other than the 7 si units - e.g. Newtons, Volts and Hz. It’s also used for non metric measurements- the decibel, the parsec, the electronvolt, and sometimes even the year (Ma is 1,000,000 years). In addition, the mole is also nothing more than a number, right? – Tim – 2017-07-18T12:39:31.610

@Tim good point about the mole, and I guess that's where it ties into the concept of treating bytes as continuous. At that scale the precision required to deal with typical numbers requires more bits than will reasonably be used in many cases. Thus rounding them off and treating them as continuous makes perfect sense. Using SI prefixes for consistency also makes sense, of course. I am only interested in consistency and was asking an honest question - I'm not sure the above insult about "computer nerds" is particularly constructive here but I appreciate all the explanations. – Darren Ringer – 2017-07-18T13:37:51.060

You always learn something new. I thought Wifi is just so darn inefficient you get less-than-half of cable ethernet throughput for the same connection speed. But indeed unlike an ethernet switch, the same bandwith is used for both incoming and outgoing data so your transfer speed is halved before anything else happens. Then again, wired ethernet also uses clever signal processing to allow full duplex over a single pair so I presume there's no fundamental reason you couldn't have AP transmitting and receiving simultaneously. – Barleyman – 2017-07-19T13:12:15.247

1@DarrenRinger, there's gonna be a huge divide depending on audience. In consumer facing places, the SI units (1000s based) are most common. But among programmers (and as a result, many things that have stronger programmer influence), the standard power of 2 units are typically more common. Most confusion seems to come from the fact that people just plain don't want to use the proper abbreviations, leaving things ambiguous. – Kat – 2017-07-20T18:27:31.223

3

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.

Malvineous

Posted 2017-07-16T19:49:23.977

Reputation: 1 881

My neighbors wifi changes channels. Usually mine (11 or 1 I choose it) has no or very weak signals. The test I got 3mega bytes per second had noone else on the channel and both devices (no router, adhoc) were in same room – None – 2017-07-17T05:10:30.163

Unfortunately due to the way WiFi works, just having the two devices next to each other often isn't enough to drown out the interference from neighbouring networks. It's a bit like whispering to the person next to you at a concert - you might be close together but you can still get drowned out by the noise around you. Also when you say there was no one else on the same channel, don't forget the 2.4GHz devices you can't see - cordless phones, microwaves, baby monitors, etc. All of them can interfere with WiFi but they don't show up in a scan, so they can be much harder to identify. – Malvineous – 2017-07-19T07:35:03.673