[Guide] Why is my Download so Slow?

Rukbat

Retired Moderator
Feb 12, 2012
44,529
26
0
Visit site
You run the Ookla speedtest app and you get 20mbps down, 2mbps up (which, BTW, is normal - upload speed is normally about 10% of the download speed) then, when you download a file you get 1.6mbps. So is Ookla lying? Is your browser lying?

tl;dr (too long; didn't read) version:

Speed on the internet isn't absolute speed, it's speed between 2 points - in this case between a server and your computer. The speed between server A and your computer isn't going to be the same as the speed between server B and your computer. The speed between server A and your computer now isn't going to be what it was an hour ago. So you can have a 20mbps speed test and a 2mbps download and they're both correct. Speed tests are used to measure the speed from your provider to you. They have no control of the speed from the server to them, but your download will be at the speed of the slowest point in the path from the server to your computer.

Long version:

The Information Superhighway has something in common with real highways. If you have too much traffic for the number of lanes, traffic slows to a crawl. (Or, if you're in certain cities, it slows to moving a few inches every minute or so.) The same thing happens on the Information Superhighway - the internet. There's a roadway (a wire or fiber optic "pipe") and it can "clog up" with "rush hour" "traffic" (signals going down a network are actually called traffic) the same as a vehicle roadway can. While you might be able to do more than 100mph (if you don't get caught) on a good highway, you won't be doing it during the rush hour - in the same car on the same roadway. So is the maximum speed you can get up to with that car 1mph or 90mph? You've measured them both. (If it takes an hour to get from the "Exit 1 Mile Ahead" sign to the exit, you went 1mph.)

You also won't average 60mph on a 3,000 mile trip (unless you can stay awake and alert for a few days without eating or needing a bathroom). The internet also has "rest stops" and "gas stations" - they're called routers. The server you're downloading from spits out a packet of data addressed to you. The closest router (usually their provider) looks for the "to" address in the packet, then sends ("routes") it down the right "pipe" to get it to a router closer to you. That goes from router to router until it gets to your provider. Their router decides which cable or fiber the packet goes down. All devices connected to that pipe see the packet but they ignore it because it's not addressed to them. Your router sees it and grabs it because it's addressed to your external IP address. (It then has ways of determining which device on your wifi the packet goes to and "routes" it to that device.)

Just as stopping for a meal takes time, routing a packet takes time (less than the time it takes you to swallow once, but still time). If the route the packet takes includes 25 routers, it's going to be slow. If it's only 4 routers it's going to be much faster.

And if the path the packet takes is congested, with lots of traffic (like the link from Microsoft to the internet on "Patch Tuesday"), the traffic over that portion of the trip to you is going to be slow - and the download goes as fast as the slowest portion of the trip or slower (as fast if there's only one router, slower if there are more).

So how does this make both the 1.6mbps download and the 20mbps speed test "right"? Watch the Ookla speedtest app when it first starts doing the test. It's searching for the "best" server. What's "best"? The one it takes packets the shortest time to get to and back to you from. It may not be the closest one geographically. (If you're near DC, and there's a high speed link from the DC area to Los Angeles, the fastest server may actually be in California. The signal travels at the speed of light in the medium it's traveling in. So a 3,000 mile trip takes about .016 seconds - pretty fast. Add 3 or 4 routers and it may be .02 seconds. The server in the next town may be 60 routers away from you - and that's going to make it nowhere near the "best" server.)

The server you're downloading from plays a part too. The Ookla servers are fast computers, they're doing nothing but speed tests, and they're connected to the internet by pretty fast connections, so the limiting factor is going to be how much speed you're paying for. (More on that later.) How many people are currently doing speed tests on that server you're testing with? 5? People don't spend their days doing speed tests, so the server can spit that data at you faster than you're paying for. If the server is really close to your provider (in internet terms, which may have nothing to do with miles), what you're measuring is how much your provider is throttling you. If you're paying for 20mbps and 10 tests average 21.2mbps (or even 19mbps), you're getting what you're paying for - 20mbps from your provider to you. (You disregard what's called in mathematics, outliers - IOW if one test is 1.4mbps, disregard it and average the other 9 tests. That outlier was due to someone with no speed limit downloading a huge amount of data down the same pipe you were testing on, or the server having a glitch or something else that has nothing to do with the average speed you're getting from the server.) But you will see variances. One speed test doesn't tell you anything. Do at least 5 in a row. (An hour later, conditions may have changed, so a test at noon and one at 4PM have very little to do with each other. At about 4:45 your local time, everyone emails home to check to see if they have to stop anywhere - and the internet crawls for 10 minutes.)

Try testing with servers a few thousand miles away. (You can change the server in the app.) Test with a server halfway around the world. You'll see how large distances make significant changes. (Testing with different servers within 50 miles may make no difference, because the actual speed from the slowest of them to your provider is more than you're paying for.)

When you're downloading from Mega (it's in New Zealand, is very fast and lets you put huge files on its server for people to download), if you're in the US you'll probably see speeds around 1.6mbps. Lots of pipes with traffic on them, lots of routers. If you want to see the internet at its worst, download a large file on Christmas morning from halfway around the world. If the connection doesn't time out. Everyone just got a new internet-connected toy and is playing with it, bringing the internet to a crawl. (Telephone companies in the US have the same problem - try calling your mother on Mother's Day morning. It's their busiest time of year. Try getting a plane ticket for Thanksgiving even 3 weeks in advance. Traffic corridors, whether human, vehicle or data, have peaks.)

As for your speed from your provider, remember the speed of light. They can't make a packet flow down the fiber or cable slower if they throttle you. Glass fiber has a certain speed of light, and no one can make a given fiber carry a signal at a different speed. So what they do is shoot a packet to you at light speed, then wait a while, then shoot another packet to you, etc. the overall effect is that if you're paying for a 20mbps connection, and you're downloading a 20MB file, it's going to take about 10 seconds. Most of that time will be "you have a packet waiting, but we're not releasing it yet". Your average speed will be 20mbps. Your instantaneous burst speed will be as fast as the signal travels down that pipe. That's what throttling is. They don't slow down your data. They can't - a given piece of fiber has a given speed, they can't make it carry data faster for you than for the person paying for a 3mbps connection. They just throw packets at you slowly enough that your average download speed (your "thruput") is what you're paying for.

So yes, you're getting 20mbps from your provider and yes, you're getting 20mbps from the Ookla server and yes, you're getting 300kbps from that kid halfway around the world running an FTP server on a Windows 2000 computer connected to the internet by 2 wires strung through 5 miles of jungle, getting static from all the wet leaves it's touching, so it's dropping half the packets passing through the wire - and they're all correct. That's why you don't buy 20mbps service, you buy "up to 20mbps" service. They won't let the packets through much faster, but if they arrive slower, they do, and your provider can't "suck them in" any faster. It's not your provider, it's not your computer, it's the nature of the internet. (And the larger the pipes [IOW, the faster the internet backbones], the more spam there is going over that internet, slowing it down. If I can send out 10 million emails advertising my product - for 2 cents worth of electricity - I'm going to be doing it every day. So are tens of thousands of other companies. Even if we only get $100 a day for our effort [of pressing a button]. Data expands to fill the available bandwidth. If we were allowed to charge companies $1 for every single unsolicited email, the average speed of the internet would go up at least ten times overnight - without a single technical change. And almost no one would send spam email - which is a very large portion of internet traffic).

How fast does I-5 run? 70mph? Then how come I can't drive 70 miles in 60 minutes from 8AM to 9AM heading into LA? The same reason your 20mbps internet connection can only get a 2mbps download. (As of this writing - early April, 2014 - the internet, except for very short hops, is running at just over 2mbps on a good connection. So to download 5 files at once, at "full speed", all you need is a 10mbps connection. Buying one of those super, 100mbps packages is a waste of money unless you plan on regularly running 50 connections full out. [Playing a FPS with a lot of action doesn't require much speed.] If all 5 people in your household are streaming movies at the same time, you're using about 3mbps - if everyone has a good connection. If you're running an internet cafe with 100 terminals, you need a 100mbps connection.)

On the subject of internet speed, let's mention "buffering". Exactly what does it mean? It's geek for "waiting". Your computer (tablet, phone, whatever) is downloading (making data travel down from the server to itself - whether you store that data or watch it as it comes down, you're still downloading it) a video as fast as it gets it, and displaying it on the screen. If the speed of the total path from the movie server's hard drive to your RAM is at least as fast as the movie stream (which is under 1mbps), you see a movie. But if something happens along that path - heavy usage, a glitch, your anti-virus using a lot of CPU power for a few seconds - the program has to sit and wait for more data - it "buffers". In most cases, the cause is "out there on the internet" and there's nothing you can do about it. Don't ask us - there's nothing we can do about it either. If you watched a movie on your laptop yesterday, and today watching a movie on your phone causes buffering ... today isn't yesterday. If you're watching the same movie from the same server on your laptop and your phone, and your phone buffers but your laptop doesn't - then it's probably something to do with your phone.

Remember why there's an internet. It's not so that you can send texts, or come here and ask questions. It was conceived and designed so that, regardless of how much of the US was destroyed by an atomic war, the IRS in DC could get a message to a company in California that it hadn't paid its taxes. It doesn't matter if that message gets routed through 5 routers straight across the country in 10 seconds, east from the US, across the Atlantic, Europe, the Middle East, Asia, up to northern Siberia, across the Bearing Straight and down the west coast of the US in an hour - or to a satellite station relaying all east coast traffic through the ISS' little router and down to a satellite receiver in California and it takes 2 days. The internet isn't immediately, it's eventually. It will get through but, like the Postal Service, your love letter may arrive 50 years late.
 
Last edited:

belodion

Co-Ambassador Team Lead
Moderator
Jun 10, 2014
39,394
255
83
Visit site
Applause! Thank you Rukbat for another informative piece. :)

Posted via the Android Central App
 

anon8380037

Well-known member
Dec 25, 2013
5,171
0
0
Visit site
Wow! Too much to comment on, but it filled in a lot of gaps for me.

Shame the post took a year to arrive "2014", but soon to be corrected and I couldn't resist.
 

litchie

Well-known member
May 25, 2014
76
0
0
Visit site
That has to be the most insightful thing I've read on Android Central thank you very much ,Johnny

Posted via the Android Central App
 

litchie

Well-known member
May 25, 2014
76
0
0
Visit site
I'm curious I hope you don't mind me asking if you can answer this but does the lollipop update "LG G3 Tmobile" does it help the signal strength with the update or is it just **** luck mine is so much better.Hiting 30 mbps plus for the first time since I've been with them in a year.With 2 phones.I hope so because I already have one of their personal cellspot signal boosters and living in Quincy,Ma just south of Boston you would think it would better!If my signal is over 25 Mbps I'm jumping for the moon.It's usauly 3-9 mbps on up and download.Sorry about the lengthy question! ..And thank you!!

Posted via the Android Central App
 

Forum statistics

Threads
943,209
Messages
6,917,821
Members
3,158,880
Latest member
karim174