Edit: at risk of preemptively saying “solved” - disabling the QoS on the router bumped the desktop browser speedtest from the ~600 up to >950Mbps.
My internet plan with my ISP is for 1000 Mbps. This is far more than I need almost always, but it is what they say I am paying for. However, I can’t get any speed tests to read more than ~650 Mbps, which is around about what my old package was.
My router itself has a speedtest functionality and that is what I’m getting off of that. As I’m writing this post, I did a speedtest on my wired-in desktop and got ~590Mbps on speedtest.net.
One thought I had was that maybe the ethernet cables themselves are the limit. All of them say ‘cat5e’ (actually, just checked and the modem-to-router is cat6), though, which should be 1000Mbps, yea? I swapped out the cable from the modem to the router once and got the same speed with the new ethernet cable.
Maybe the router is just too weak? Well, I used iperf3 between two desktops that are both hardwired in and I got ~940 “Mbits/sec”. Unless I’m messing up the unit conversion (which I certainly am annoyed by the difference between “megabytes per second” and “megabits per second”), that is the 1000Mbps that I’d expect to max out the ethernet cables. So, since those two machines are going through the router, it doesn’t seem that the router is the bottleneck for my speed to the great outdoors.
The modem? The modem’s specsheet says it can do 2.5Gbps (well, actually I assume there is a funny typo - it says “10/100/1000/2500 Gbps RJ-45 port”, but I don’t think it is doing 2.5 terrabytes/bits per second). The little led on the modem is lit up the color for “an ethernet device is connected at 2500 Mbps”.
So, should I start hassling my ISP about my missing 350 Mbps? Is there some other obvious thing I should test before I hassle them? I certainly don’t want them to say “have you turned it off and on again”? (once I wrote that, I did go and unplug the modem and router, stand around for 30 seconds, and then plug in the modem and then the router. after I did that, I got one speedtest from the router at 820Mbps, and then the next two tests are back to ~550).
Edit: I do not have fiber, I have a coax cable coming into the house. The person trying to sell me fiber said “your current internet is shared with the neighbors”.
Issue 1: Don’t use the speed test on your router. Use OpenSpeedTest on your desktop browser. Router hardware isn’t made for this type of function and can often pass traffic (using hardware acceleration) faster than it can decode packets (using the CPU, required for speed tests).
Issue 2: test at off-peak times of day. Last mile for ISPs can get congested and limit actual speeds
Issue 3: Disable QoS, detailed traffic analysis, or other packet-inspection tech on your router. These often require passing the packets through the CPU which can limit max throughput. Check to be sure that “hardware acceleration” is active if possible for your router (sometimes called “cut through forwarding”). This can impact WAN <=> LAN traffic by not LAN-only as it needs to be bridged in a way that LAN-only traffic doesn’t.
I turned off QoS and immediately am getting 930 on speedtest.net from the desktop browser!
Also, very helpful to know Issue 1 here. I assumed that the router would be the best spot to test since it is farthest upstream (other than the modem). I didn’t know it could pass traffic faster than it can decode, but that makes sense that people would have tried to make that the case. The router is still getting ~500 Mbps while the browser is much closer to the full 1000.
Ayyyy awesome! Glad to hear you’re getting full speeds now!
I’ve personally run into this before, when I got my first gigabit connection. Definitely took me a long time to track it down, and required someone on SmallNetBuilders forum telling me about it haha
With a gigabit connection, you shouldn’t really need QoS, unless your upstream is getting saturated (since I don’t think the coax gigabit providers offer symmetric up/down). But if you do, you’ll want to get another device to do it, or use more simple approaches like just capping throughput per device. If you don’t already have a homelab server, a recent Raspberry Pi should be able to handle it (and then you’d also be able to set up PiHole and other fun self-hosted services)
Regarding issue 3 - in America there are data caps and couldn’t this potentially push someone to hit those caps or have the ISP enforce data caps because you’re now a “power user”?
Additionally, does any of option 3 bind your firewall some and reduce your protection?
Sorry for questions, I am trying to learn/understand stuff this.
Unless I’m misunderstanding your question, disabling QoS shouldn’t have any effect on your data cap because it’s just speeding things up (bandwidth) rather than increasing the amount of data used. Think of it like taking a 100 mile trip at 100MPH versus 50MPH. You’re doing the same distance just in half the time.
Well, speeding data up would mean you get to caps quicker. Reaching a data cap in half a month vs a month can be a big deal for some people.
Are you permanently drawing data at full available bandwidth?
Data consumption isn’t a constant stream limited only by your speed, it’s a question of demand. Maybe compare it to getting groceries: Getting them by car may be quicker than on foot, but that doesn’t mean you’ll need more of them.
Oh, I think I know the issue now! The answer was about pinging and getting accurate speed counts. I’m thinking about what happens after when someone leaves that setting off.
Sorry, my mind was working on a different scenario using the same solution.
As with my analogy above, the trip length (data size) is still the same whether you get there in 30 minutes or an hour. Your data usage won’t change unless you were somehow delayed from using it all, which isn’t really a thing unless we’re talking about super slow speeds like 1-5Mbps. Your demand for data and the speed at which you can get it aren’t necessarily related to one another.
Yeah, that makes sense.
I think I came to a realization that you were answering based on pinging and monitoring speeds for a test. My mind was thinking about someone leaving that option turned off after the tests and what they would do with increased speeds (e.g., change their demand).
Sorry for the confusion.
99.9% of the time, you’ll never get the FULL speed possible from an ISP, you’re just paying for the expected capability. The last mile of delivery to where your house is connected is generally the limiting factor, then the network type at the handoff.
Example:
- if you ordered fiber, that’s a direct handoff to you, so you’ll be getting a guaranteed circuit speed of whatever you pay for (but not always the FULL speed for other limiting factors).
- if you ordered coax cable, you’re generally going to be on a shared circuit with your neighbor, and the more connections at the handoff means less bandwidth for you. If 5 homes all use tons of traffic constantly, your metered speed will always be less than what you’re max potential speed is.
So the best way to test yours is just any old bandwidth testing platform, like speedtest.net or whatever, that has a testing endpoint close to your home.
Now, your bandwidth test may say 650mbps, but that doesn’t mean you’ll be getting that at all from every place on the Internet. It depends on how close whatever you’re talking to is, and what THEIR max speed is. Any network noise or obstacles in the way to you obviously slow things down, just like your travel between two places by driving.
Edit: on your router, that means the ENTIRE switch on all ports can do 2.5Gbps, not each port. Coax can’t even go faster than 1Gbps on Docsis 3.0, and 3.1 is 2.5Gbps max in lab conditions.
In Canada from what I’ve seen it’s most often than not +5-10% over the speed you’re paying for. For example with a 400mbps plan you will get about 450 when plugged in
Canada’s entire population is 40 million. US is over 330 million, with 10x more density centers with the same coax delivery for some carriers.
Worth noting that I’m sure your plan is “up to 1000mbps”. They always use the words “up to”. The speed you are paying for is the maximum you can get, not the minimum that they guarantee you will get.
Also worth noting, if you call their tech support about it every day, you’ll have wasted their time and money.
deleted by creator
In Germany we achieved a ruling so they need to provide a minimum network speed. If they cant do that, you can deduct some of the fee after you gave them multiple tries to fix the problem.
When used by marketers, “up to” should be understood by customers as, “we guarantee you’ll never get more than”.
If you’re getting 650 Mbps, all of your hardware is definitely capable of running 1 Gbps, as the test with desktops is showing (you can hardly get more than 950Mbps from 1GBps hardware in reality). If it weren’t, it’d probably run at 100 Mbps.
Read the fine print of the ISP plan to see how the bandwidth is allocated. It may be something like “1000 Mbps total, 700 down/300 up”. In that case, you’re getting what was advertised: about 700 Mbps downlink, and the rest will be uplink. My ISP advertises 1000/50, and they’re true to both, so I get blisteringly fast downlink, but abysmal uplink. A friend of mine has 500/500, which is IMO much better, but that ISP doesn’t have coverage in my building.
If you’re getting 650 Mbps, all of your hardware is definitely capable of running 1 Gbps
Just to clarify, this means there aren’t any 100 Mbps bottlenecks, not that the hardware can run at 1 Gbps. When Gigabit was new, a lot of hardware was rated for Gigabit but couldn’t actually get 1000Mbps. I know this is less of an issue now Gigabit is mature, but there’s still a possibility something is bottlenecking just due to the hardware not being able to keep up.
Let’s back up just a moment - is there an issue you’re trying to diagnose, like bad lag, packet drops, excess ping, etc.?
If not, then don’t worry about the speeds too much unless you feel like you’re being overcharged.
That is the correct question, and mostly no, I don’t have any specific problem.
The biggest motivator for me looking at it is probably just hobby/interest/how-does-this-work.
That said, my partner and I both work from home ~50% and are often pulling files/data that are a couple GB from the work network, and having those go faster would be nice. Probably the limiting factor in those, though, is the upload from the work network and so faster download for us likely wouldn’t matter, but I’d like to be able to say “I looked into it, honey.”
-
there will be some bandwidth aggregation, so the speed is perfectly fine from the contract point of view.
-
second, 1 gbps on network layer is not 1 gbps on application layer. in other words, only part of the data that you download are actual useful data - there is some overhead.
-
at such speed, there is no such thing as “internet speed”. there is speed to specific source at the specific time. your provider can only guarantee so much. your source being able to push data to you at the speed your last mile might be able to receive them is not among the guaranteeable.
-
complaining that your internet only does 650 mbps really is first world problem.
-
Tons of good advice here - I personally use speed.cloudflare.com for QOS issues as it will do a few different sized tests.
Speed test from who?
I’ve got gigabit fiber from AT&T and Netflix’s site is the only one that can reliably shove a full gigabit at me. (Or ,rather the 940mbps, which is “gigabit” according to Ma Bell.)
Maybe try fast.com and see if you get different reported speeds?
Maybe the router is just too weak? Well, I used iperf3 between two desktops that are both hardwired in and I got ~940 “Mbits/sec”.
Also this doesn’t mean anything: switching is probably handled by an ASIC in the router, and routing is handled by the CPU to keep track of all the NAT table state stuff, so you 100% could have a device that’ll pass gigabit on the lan, and only 10mbps on the wan.
fast.com gives 500 Mbps
940mbps is gigabit because there’s some overhead at the various network levels. If you see that much, the actual raw traffic is getting pushed at 1gbps. (I assume you know this, just saying it for everyone playing along at home.)
is something already pushing 300Mbps worth of traffic across the router? speed tests that are good at power cycle, but quickly deteriorate after, can sometimes indicate that you have unaccounted for traffic crossing a bandwidth limited i/f (your ISPs service).
check your router stats for the missing traffic.
edit: also, almost all ISPs have a “burst bucket” for quick but intensive bursts of traffic. you get super speed for a few seconds while your bucket fills up. once full/overcommitted, your ISP starts rate limiting your service again. that may be why you get nice initial speeds, but they drop off quickly. does your ISP give burst speeds and sustained speeds in its
terms of servicecontract on your kids?that makes sense, and I’m looking now. However, the only thing that has anything other than zero in the ‘Real-time rate’ on the router is the computer i’m typing this on, which is at ~30KB/s up and down
if you really want a deep dive (cuz your post suggests that), fire up wireshark on a speed test PC and capture the traffic while you test. look for out-of-order, missing and corrupted packets. you will also get awesome stats on the traffic - wireshark is your best friend. be warned, this is the entrance to the rabbit hole.
edit: because at some point you are going to want to slide wireshark between the cable modem and your router - for general troubleshooting (and funsies!) then things get interesting as you figure out how to do that properly.
If you want to avoid back and forth with the ISP you basically need to single test every part of the chain. Your side Coax, Modem, Router, Cable, Device.
Connect directly to modem on 2 different devices and 2 different cables. Since your intranet speed test seemed ok maybe not much concern here, but this is for the ISP. They will ask you to use another device, another cable. If you see same speed diff across that then you maybe have a good case for them to help diagnose.
Check for splitters, or other coax hops on your end of the line. If you don’t have other coax things like TV then just remove those. If speeds are good direct on modem, then it’s likely your router. Not sure what its specs are but many consumer routers are just not up to the task of how many clients a home has these days. You can maybe test with just one thing running on the router, if there is a lot of other traffic going its speedtest may just be slow on both ends.
I myself have gone through this struggle of latency, and poor sporadic performance, upgraded to more enterprise level gear, separate router, switch, and AP to split compute and traffic more effectively. For me this lowered my overall ping, and I typically always see at or > then my advertised speed but that of course if very location/ISP/time of day dependant.
tl;dr: Test everything, prove its the ISP end, then they will help you diagnose and figure it out, if not time to upgrade
LibreSpeed is harder for your ISP to add to QoS filters.
going to librespeed.org got me 482 down
The best way is to set up iperf between your circuit and another circuit. You’d be testing between two hosts on the same network, so you should get the full speed.
Testing to any sort of internet speed test is testing things your isp has no control over. Once you connect to something not in their network there’s no telling what type of speeds you’ll get.
What’s your situation into the wall? Depending on country/ISP/regulations they might give you up to 1000 Mbps under the assumption that it’s a single line going to a single user, however quite often that line is shared with potentially a lot of different customers.
Some countries allows you to buy packages where you have a standalone line going to your wall, however at an additional cost
I’ve got a coax cable (not fiber) coming into the house, in the USA. My understanding is that there is some amount of shared network with the neighbors.
Sounds like you might just be max’ing out the capacity of the coax cable as well (depending on length/signal integrity). E.g. ITGoat (not sure how trustworthy this webpage is, just an example) lists 1 Gbps as the maximum for coax while you would typically expecting less than that, again depending on your situation (cable length, material, etc)
test it early morning when your neighbor peeps are sleeping (or bulk traffic torrenting - QoS usually knocks them back down pretty quickly). at the least you are looking for rock solid ping times. if pings are wild your link or the community bandwidth is possibility saturated.
It sounds like everything in your network is at least gigabit, which means you should practically be able to get at least 920Mbit speeds after the overhead on speedtest. Also try the google and fast.com speedtests as sometimes they show different results. Also do a full reboot on every device on your network just in case.
Your ISP is probably going to tell you that your speeds are “up to 1Gbps” and that getting lower speeds are normal. I’d still push them for not providing speeds within a reasonable limit of what you are paying for. For reference on my connection I can easily get 930Mbps down on my 1Gbps connection probably 90% of the time.
So, should I start hassling my ISP about my missing 350 Mbps? Is there some other obvious thing I should test before I hassle them? I certainly don’t want them to say “have you turned it off and on again”?
My ISP will treat anything under (I think) 90% of advertised speed as a technical problem, assuming it shows up on the modem speed test.
I had a problem recently where it was consistently slow, but only in the evenings. I was pretty sure it was a neighbourhood issue, but I still had to go through the whole troubleshooting script, replace the modem, get a tech out to check everythting, etc.
After none of that helped, the regular tech support didn’t know what else to try. Luckily there was a form on their site to escalate an issue. That put me in touch with an actual person with an email address, and they were able to get the issue sorted relatively quickly.
There’s actually a whole escalation process up to making a complaint with the regulator, but this is in Canada, so YMMV.
I would do one last speed check at an off-peak time (if you haven’t already) and then bug the ISP about it