Speed Test
speed.cloudflare.com
speed.cloudflare.com
DSLReports had the first bufferbloat test I'm aware of, but it's broken now. Another example is https://www.waveform.com/tools/bufferbloat
Ideally this problem should be fixed by ISPs and modem manufacturers, but individuals can use OpenWrt with luci-app-sqm, at least when the connection has a predictable speed limit.
An option to choose between IPv4/IPv6 (or test both) would probably be useful.
It's far from being a perfect bufferbloat/latency under load test, and there's lots of room to improve it, but we built it when DSL Reports seemed to be running a little unreliably.
We actually use Cloudflare and Fastly on the backend for latency/speed testing. We built and host the test for free mostly because I wanted it, but I justified the dev time as it being very-roundabout marketing for us - so if you ever need a signal booster or MIMO antenna for 5G internet, looks us up :).
Otherwise I still feel yours is the best web based latency under load test out there! Thank you for creating it and keeping it going so long! (Can I have you add preseem, libreqos, etc, to the FAQ?)
But you can find those graphs in Cloudflare Radar. Half of the https://radar.cloudflare.com/quality section is based on speed test data.
Edit: It's a box and whisker plot: https://www.khanacademy.org/math/statistics-probability/summ...
Or encourage your ISP to put in a better packet shaping solution in the first place. There are now a whole bunch of these - Preseem, Cambium, Paraqum, and my own libreqos. Cost is about 30 cents of CAPEX per subscriber.
That said, please remember this is a test of you through your ISP to a (hopefully) nearby Cloudflare node. It isn't necessarily testing 'the Internet', since Cloudflare sometimes has creative peering relationships to origins that are not being measured here.
Also, for the people complaining they only have 300 Mb/s -- unless you are streaming multiple 4K movies there is nothing faster about having more bandwidth. You should care about latency, packet loss, and cache hit rate.
Well, having a good network card and frequently downloading large files (which I'm guessing lots of people do here, especially those in ML/AI and related fields), I'm not sure why the downloads wouldn't go faster if you didn't have more bandwidth... People use the internet for more than just watching movies you know.
Haven’t downloaded any 150+ GB games (or patches even these days) off of Steam lately I see
1Gb symmetric at both locations in NYC though and a free Xbox One S and $300 Visa giftcard.
They have essentially paid me to use them as my ISP, and contact from their support teams attempting to figure it out is getting increasingly infrequent
Sure it would be nice for those few instances, but those are not worth the additional cost for almost any individual or family if they actually work out the time saved waiting.
The more of these tests start appearing, the better.
That's exactly what the person above you meant about Cloudflare, right? By using the Netflix speedtest as a benchmark, you're promoting good connectivity to another commercial entity (for good or for bad, I don't mean to judge, just stating)
This is abused for "unlimited data" subscriptions that aren't unlimited when you actually try to consume more data than a standard subscription would allow you to. Of course that's completely illegal in countries with net neutrality laws, but not every country has those.
I can't think of a reason why a shitty ISP would throttle Cloudflare, as Cloudflare mostly hosts small files. As an ISP you want customers to think websites are nice and fast, because if only Netflix is slow, surely the problem lies with Netflix, right?
If speedtest.net says you have gigabit, Cloudflare says the same, and fast.com is giving you 5mbps, your ISP is messing with your bandwidth. It could be that Netflix has technical issues, but you'd read about those. That's why these tests are useful, and why we need more like them.
In Nederland? I only heard these stories from the USA, and then specifically about monopoly ISPs with Netflix as trial target to see if they can get extra money from them
I haven't caught any real ISP here (only train/public WiFi). I don't trust Dutch ISPs to follow the law so I do run these checks every now and then.
At least one American mobile carrier overtly advertises "5G" with "unlimited data" followed by "DVD quality (480p) standard" video quality, but not every carrier in every country will be that direct.
With Cloudflare I'm guessing it's a more balanced measure.
Well, Europe has lots of different countries and I've definitely been in countries that are considered to be in Europe where it's not equally fast, and using a VPN can speed up a lot of things.
I would be curious about concrete examples in Europe, though
It's hard to guesstimate the exact bandwidth of the data that arrives in your browser because of differences in protocol, MTU, header compression and all that nonsense, especially over technologies like WiFi. In my experience, the WiFi throughput numbers seem spot on.
Their compensation makes for some hilarious statistics, but when you're downloading more than 200mbps the fast.com speedtest doesn't make much sense anyway. No way in hell is Netflix going to allow your single home internet connection to somehow pull in a full gigabit of streaming video. If you're your own ISP you can make it happen, but on the other hand you'll probably also know how to get statistics directly from your network hardware, in which case the fast.com numbers are useless but it still becomes a useful way to spike the load.
Netflix's speedtest is mostly reliable for what it's meant to do, which is solve the question of "my internet is fast but Netflix keeps buffering".
Edit: another factor to consider is that accurate timing has been disabled in most browsers because of side channel attacks like SPECTRE. It's possible that those are affecting your measurements at very high speeds.
And of course, I'd not expect them to want me to pull down 1gbps of streaming video. But I would expect them to burst my connection when downloading videos for offline viewing, their own bandwidth permitting. Unused bandwidth at a point in time is wasted bandwidth. But more central to my original point, I'd also expect their browser-based speed test to not claim I'm going faster than is physically possible. Let's be honest - however they're measuring the actual connection speeds is not as accurate as some of the alternatives on the same playing field.
The other side of this is why Netflix created Fast.com in the first place: ISPs throttling Netflix traffic (or just having poor peering arrangements that affected it) and blaming Netflix when customers complained about poor video quality (due to Netflix downgrading when experiencing congestion) because some speedtest (that likely the ISP prioritized, or at least knew it had better peering to) gave good numbers.
> With Cloudflare I'm guessing it's a more balanced measure.
Both serve the same purpose for their respective owners: to get good scores on fast.com an ISP can't throttle (or allowed to be throttled by avoidable congestion) Netflix traffic, to get good scores on speed.cloudflare.com they can't throttle (or allowed to be throttled by avoidable congestion) traffic to/from Cloudflair's topologically local DCs.
From a user's point of view using both, plus other tests, gives most meaningful results overall.
Interestingly, if you hide the tab running their speedtest you get even higher speeds.
I find fast.com more accurate than most, going by the throughput I see to/from other resources, particularly for upstream rates (which some, including Cloudflair, seem to significantly under-measure). Of course this may vary depending on line type (FTTC, “up to 67Mbit down n& 17 up”, generally seeing more like 50/12) and location (due to differences in local network conditions and peering between you & the speedtest) to I'm not surprised to hear you see the results quite different to those I experience.
> if you hide the tab running their speedtest you get even higher speeds
I suspect this is due to your browser throttling CPU use and timer granularity for background or occluded tabs⁰ reducing the accuracy of the readings, if the code isn't working to mitigate the effect of these throttles on the calculations.
--
[0] refs: https://blog.chromium.org/2020/11/tab-throttling-and-more-pe..., https://www.reddit.com/r/incremental_games/comments/jefviz/f..., and many more
Ideally settlement peering would exist for everyone. Cloudflare, like every other sane provider prefers IX routes over PNI since it's less expensive for everyone involved. There really shouldn't be a discussion about whether peering should be settlement free or not.
Example screenshot here: https://postimg.cc/bDTyy8BM
The only catch is most of them set a time limit on uploads, but you might be able to (ab)use archive.org if you want the files to stay online forever.
EDIT: Apparently there is a nodejs module available https://github.com/cloudflare/speedtest Totally gonna start this project asap
I also wonder how much bandwidth I am using by running all of these tests, but my ISP doesn't have any caps so I guess it doesn't matter.
I have a 500/500M connection and on the same computer Chrome gives 465/364 and Firefox has 311/303M.
EDIT: this was on Linux/intel.
On Mac M1Pro it Chrome/FF/Safari all get pretty much the same numbers.
Both computers have wired ethernet.
edit: Now I realize that the later tiny-small-medium filesize downloads also add to your above-the-fold download performance, so the results of the initial warm-up test are discarded later.
In an effort to improve security, browsers reduce fidelity & accuracy on results from the `performance.now()` timer methods. If you attempt to call `performance.now()`, and then call it again within 100 microseconds, your second result isn't guaranteed to be in the future compared to the first result.
https://developer.mozilla.org/en-US/docs/Web/API/Performance...
If you're implementing a speedtest feature, you'd likely run `performance.now()` iteratively as your high-resolution-timer, and compare that to the number of bytes downloaded. Browsers that perform more significant coarsing will return worse metric-per-second results in that scenario.
That one uses Netflix servers, so you get a valid test as long as your ISP isn't throttling Netflix. Of course they created it so that people would call their ISP and complain they aren't getting the speed they pay for, but it turns out it's a pretty good test most of the time.
And most importantly, it isn't prioritized like speedtest.net.
speedtest.net should tell you if the physical installation of your cable was done properly - nothing more.
I was using it to see if my new hardcore gaming router gave me better range than the old one. On isolated up and down tests, it did. But on combined tests, the advantage especially for upload disappeared.
What's more reflective of real world use cases is a hot discussion topic. :)
The "networkQuality" tool on macOS and other implementations(1) of the "RPM" algorithm(2) are very good to see how an Internet connection behaves under high stress. But the real world is seldom high stress (100Mbps+ connections are rarely pushed to the limit, honestly).
In your example, video conferencing indeed does simulataneous upload and download, but it's also low bandwidth (relatively speaking) and doesn't usually come close to saturating a connection. It can impacted by other traffic in the same connection though.
Which can come from a single user, or multiple users sharing the same connection. And neither networkQuality nor Cloudflare's speed test measure how a connection behaves with multiple users stressing a connection.
In the end, which tool you use depends on what you're trying to measure. For me, the Cloudflare speed test is closer to measuring what I experience in real world use.
(1) https://github.com/network-quality/goresponsiveness
(2) https://www.ietf.org/archive/id/draft-cpaasch-ippm-responsiv...
Though the main ones I use now I can upload at 1000mbs so not going to complain too loud.
I've seen this ever since I moved to fibre about 8 years ago, I've never taken the fastest packages and whenever I test on speedtest.net it always starts off exceeding my limit, then comes down to my limit over a short while.
The limiter for you may very well allow you to burst for a limited duration, so your speed on 1MB files are possibly at 440mb/s, but once you have sustained line usage it brings you down to your limit. I wouldn't know if this is an intentional feature or just because of how the limiter solution is implemented that it needs to sample over a certain period of time.
It is a slightly useful behaviour if you're browsing the web and only occasionally clicking links which land up being downloaded way faster than your normal limit, but as you're only getting this speed if you do little to nothing for the 10s or 100s of seconds between opening pages, it doesn't have any negative effects over all.
It also can be implemented badly. Azure VNET peering had 200M level and 100M level. Where 200M level was 200M most of the time, whereas 100M level was 200M for 30s and 0M for the next 30s.
What’s nice is when you pay for a certain speed and they give you more if nobody’s using the excess. That’s more rare now but still can be encountered, especially on upload.
The speed is very clearly throttled by the ISP though, they sell a faster package that I don't need. I'm not complaining, I've just never seen this burst behavior anywhere else.
EDIT: fast.com is showing 1Gbps. There's no way that's true.
https://stelladoradus.com/case-study/mobile-signal-solution-...
> The theoretical maximum speeds of 5G are pretty groundbreaking — but we have a very long way to go before you’re likely to hit that kind of peak speed in the real world, regardless of your connected device. Depending on your 5G coverage, maximum download speeds *often* range from 1Gbps to 10Gbps, and latency, or the time it takes to send data, could go as low as 1 millisecond (ms). [1]
Cloudflare: 697 down / 645 up
fast.com: 860 down / 440 up
Google: 760 down / 347 up
Ookla speedtest: 841 down / 827 up
Quite a large variability in upload speeds, which isn't all the surprising I guess. Network providers often don't really need to prioritise upload traffic...
*gigabit
Get it right already.
ookla speedtest: 940 up / 750 down
I'm on 500Mbps broadband. Ookla and fast.com show 350Mbps via WiFi. Cloudflare only 274Mbps.
Similar results on Ethernet. Over 400Mbps on a proper speed test. Can't hit 300 on this.
I assume their downstream is capped?
I expect it isn't as easy for ISPs to treat Cloudflare like this, as it just looks like normal internet traffic.
PS: my latest ISP router doesn't let me change DNS to my local pi-hole. haven't explored all options yet - just got new one 2 days ago -- but currently my DNS queries are going to whatever is the default set by my ISP.
It's difficult because Netflix can respond to any such technique by taking steps to make it less obvious, so you just end up with one of these cat-and-mouse games.
Having DOCSIS, I buy a modem, and own my router. I am aware that for more exotic technologies like fiber, a rented/ISP-owned 'modem' or network terminal of some sort may be compulsory, but a router is a bridge too far (no pun intended) for me.
Well, here the major ISPs are bundling the FTTH Fibre modem and th WiFi router into a single device.
I wanted to experiment with Mesh router for better wifi coverage but the prices of mesh routers here are high, brands unproven, and returns policy iffy. So I went with the mesh router option offered by ISP for ~1 USD a month.
(I do have a spare wifi router to add if I really feel like. Our location has occassional power outages and the backup power doesn't flip on instantly enough - causing router restarts if we don't add a small battery powered backup to each individual router. So the setup gets bulky and messy.)
On the positive side, they're ripping you off much less than our ISPs do in the States. They usually charge $10-20 a month here for some device which is usually using technology from about 5 years ago (when it's first installed, that is - they don't swap you a new one when technology improves of course, unless you raise a fuss AND they've actually adopted a new model).
I will admit, sometimes it's tempting because you could in theory expect them to support their company-owned hardware. But in practice for us that just means we can complain at some minimum wage call center "tech support" about how the device stops working until rebooted X times a week, and they will offer the choice to reboot it again or to make an all-day appointment for some installer to show up with another identical refurbished modem/router/AP that will have the exact same buggy software.
I wonder if it could be that various handoffs with cloudflare's network are more busy, but we don't really notice because we're not doing speed tests on it. :)
Cloudflare doesn't even get close.
This one tests a 10MB chunk at last and that's the only reliable indication for me.
100KB and 1MB down/up load tests show unrealistically low values, perhaps due to a high latency (ping).
That's related to TCP congestion control. TCP starts slow and ramps up speed as download progresses.
But you're right that latency also has an impact on smaller downloads, and that's why latency is a critical measurement of connection quality for everyone, not just gamers.
Is it something about the internet that means the speed changes so much over the course of the test?
But the first keyword I would look at would be BGP.
Generally speaking, routing decisions are dynamic and constantly changing. Add the unreliability of the network layer, corporate politics and optimization heuristics to that and you get varying results.
https://www.cloudflare.com/learning/security/glossary/what-i...
TCP initially starts with a small transmission buffer (the congestion window), and gradually increases its size until it starts getting errors (packet drops or reordering).
I keep hoping more folk will see networks with single digit latency under load stats, like what we get from a good cake or fq_codel installation at the CPE, or with libreqos.io, preseem, etc at the ISP.
A dedicated domain would be nice. I probably wouldn’t recommend this to people like fast.com though due to the more complex interface, but I love it!
Minimal interface. More details behind a toggle if you need them.
Obviously this isn't an apples-to-apples comparison, but I mention it because I'm genuinely surprised that 5G works this well. I've read all the claims but this is the first time I measure it, and frankly if I didn't need lower latency I might've just considered ditching the fiber.
Then within a product cycle or two everyone's phones had it and it went back to normal. I'd expect a similar thing here enjoy it while it lasts I guess.
[edit]
I saw the more detailed information below. The high speed comes entirely from 2 outliers on the 1MB upload test; all of the 10MB tests were clustered around 32Mbps
[edit2]
I reran and got similar results again with 3 1MB uploads over 200Mbps and all other uploads clustered around 32Mbps
With this speed test, the results are 900mbps down, 400-500mbps up (ran a few tests to confirm)
I tried running fast.com, speedtest.net, google speed test and verizon speed test (I'm on AT&T), they all show ~950mbps down and up
Genuine question: what’s it like having internet that fast?
Because I get 40-50Mbps down and ~16 Mbps down on that tool, and I have fibre to the property (yay, Australia) and I’m so curious to know what’s it like to have a connection that’s actually good.
DOMException: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
in the console.I can believe that it may not be possible to run the test without local storage (though it's not obvious that that should be the case), but failing to verify that one's website degrades gracefully (and in the face of a totally standard and formerly common browser configuration, no less) deserves disparagment.
Looks like their map library uses local storage to persist the API key (or something innocuous) as a form of caching.
This is on you for not letting apps cache data.
603Mbps Cloudflare chrome vs. 600 Mbps Cloudflare firefox
But on fast.com (netflix) it's the opposite:
440 Mbps fast.com Chrome vs. 590 Mbps fast.com firefox.
https://developers.cloudflare.com/support/troubleshooting/ge...
Why, here’s some now!
Obviously a huge part of this is marketing for modems, ISPs, network cards, etc. but it’s consistent. The conversion to GB/s is fairly simple and doable with the super key, or super space on Mac in every modern OS…
I agree with you that the difference is irritating, but wouldn’t have done any different if I were Cloudflare.
Isn't the baud-rate the number of signal transitions per second? How that maps to bits per second depends on the wire encoding.
Or the dedicated button on my keyboard that spawns a calculator. I don't care, though.
When I lived in a small town, my 500Mbps would give me >400Mbps consistently.
That's about the same speed for me (in US), and I could get gigabit, but I feel that the ~double cost isn't worth it.
Not bad for corp VPN.
e.g. Create a format file named curltime.txt containing:
time_namelookup: %{time_namelookup}s\n time_connect: %{time_connect}s\n time_redirect: %{time_redirect}s\n time_starttransfer: %{time_starttransfer}s\n ----------\n time_total: %{time_total}s\n
then
curl -svo /dev/null -w "@curltime.txt" https://example.com/my_arbitrary_file
Would result in something like:
time_namelookup: 0.048205s time_connect: 0.079001s time_redirect: 0.000000s time_starttransfer: 0.377603s ---------- time_total: 0.412150s