top | item 12256270

Building fast.com

432 points| samber | 9 years ago |techblog.netflix.com | reply

175 comments

order
[+] nippoo|9 years ago|reply
This is beautiful. By using Netflix's actual CDN and requesting actual video files over HTTP, they're preventing ISPs from whitelisting fast.com without also whitelisting Netflix itself. Of course there'll be a game of cat-and-mouse with DPI, but it's a super-neat way of making it much harder for the ISPs to misrepresent actual video download speed...
[+] IshKebab|9 years ago|reply
Yeah right. Just wait until a user visits fast.com and unthrottle their connection for 20 minutes.

I strongly suspect some ISPs already do that with speedtest.net.

[+] davidsawyer|9 years ago|reply
Wow, I hadn't thought of that before! That really is genius.
[+] levbrie|9 years ago|reply
It is beautiful, and even if it weren't harded to misrepresent video download speeds, it's a significant step up from speedtest.net. And now there's no need to leave the command line, which is even better. That said, perhaps "making it slightly harder... to misrepresent... video download speed" is more like it.
[+] jlgaddis|9 years ago|reply
They could block or override the A RR for fast.com so that a client can't connect.
[+] greenspot|9 years ago|reply
First, I thought why another speed test, then I saw that they link their results directly to speedtest.net (the reference) and finally, I realized that fast.com is so much faster in detecting the download speed (but lacks upload and ping).

Not bad.

EDIT: And they secured a fantastic domain.

[+] twinkletwinkle|9 years ago|reply
I think the point was they conduct the speed test from the same servers that deliver video content. So ISPs can't throttle video streaming without it showing up in this speed test.
[+] vicda|9 years ago|reply
Also, I'd imagine it's a way for them to fight back against providers capping download speeds to Netflix's content.
[+] greenspot|9 years ago|reply
Since they took this precious domain, I was wondering about the purchase price and if it was worth to buy this awesome domain—we are talking here about a mid six digit at least, rather seven digits.

Then, I checked how much traffic speedtest.net is getting on SimilarWeb: wow, 150m visits per month, I didn't know that speed testing can be so popular.

Conclusion: Yes, it was right to buy this domain and if fast.com gets a large part of speedtest.net's traffic in the long term, Netflix has a neat free Marketing channel.

[+] amelius|9 years ago|reply
Why not also measure upload speed? I get it, it's because their business model only requires people to download stuff. The current state of the internet is much like the old days, where only big corporations had the ability to "broadcast".

So I'm not enthusiastic at all.

[+] dingo_bat|9 years ago|reply
>EDIT: And they secured a fantastic domain.

Apparently they have slow.com as well.

[+] namangt68|9 years ago|reply
They bought slow.com too.
[+] cocoflunchy|9 years ago|reply
Fast.com is a lot slower than both speedtest.net and http://speedtest.dslreports.com/speedtest for me... I get 78mbps on fast.com and 350 on the other two. Not sure what's going on? Maybe they don't have servers near me, I'm in Paris, France.
[+] sjtgraham|9 years ago|reply
Maybe your ISP is generally throttling your traffic but whitelisting speedtest et al to hide it.
[+] doomtop|9 years ago|reply
Perhaps that is a reflection of your provider's ability to serve bandwidth to Netflix servers?
[+] the_mitsuhiko|9 years ago|reply
More likely your ISP is cheating and you don't actually reach 350 outside speedtest and some other routes they make sure you are unthrottled on. Would not be the first.
[+] peyton|9 years ago|reply
One possibility is ISP skimping on peering and transit. Had that issue with an old ISP in Switzerland.
[+] mrb|9 years ago|reply
Notice how speedtest.net selects a server geographically close to you? Well many ISPs work directly with speedtest.net (and other similar services) to ask them to put servers in their own networks, so that traffic avoids going through potentially saturated peering links. So you are really testing the bandwidth of the last mile to your house and the ISP's internal network, which is not representative of your real network bandwidth to the rest of the Internet.
[+] greenspot|9 years ago|reply
My results were similar on DSL:

  Speedtest 12.6 Mbps

  Fast.com  13.0 Mbps
But differed on LTE:

  Speedtest 40.0 Mbps

  Fast.com  73.0 Mbps
[+] wflynny|9 years ago|reply
It likely depends where the netflix servers are relative to you versus those used by other speed tests. For example, at my workplace in a big US city, I get about ~500Mpbs down from dlsreports, speedtest.net, and xfinity speedtest, because they are all using servers based in this city. Speedof.me and fast.com are not from what I can tell and give me download speeds between 200-300Mbps.
[+] zackbloom|9 years ago|reply
It's a little odd that they elected to invent their own way of requesting just a range of bytes in a file. It's built into HTTP: https://tools.ietf.org/html/rfc7233
[+] douglasfshearer|9 years ago|reply
YouTube also put the byte range in the URL rather than using a range request header.

Perhaps it mitigates against proxies stripping the headers, or it simplifies caching.

[+] alexhornbake|9 years ago|reply
Not that odd if you are trying to represent a chunk of a file with a single url, which would be desirable if you were serving video manifest/playlist files like m3u8 (HLS) or f4m (HDS). IIRC Netflix is using HDS.

Edit: not sure what format they are using, probably several depending on the client... But one url per chunk makes sense for multiple delivery formats as well.

[+] donavanm|9 years ago|reply
As others have mentioned "ranges" are put in the uri stem & query string for two reasons; evading mangling proxies and simpler access from browsers/clients. From memory notable implementarions are MPEG DASH, action script/flash, icecast, and various proprietary "services".

The formats that send time ranges instead of bytes ranges are the worst. In that case the server/cdn has to retrieve & read the manifest, decode time indexes to fragments/chunks/ranges, and then return the appropriate byte stream to the player. This also means you cant cache based on the URI plus query string!

Source: ive worked at both ISPs and CDNs supporting streaming content

[+] toast0|9 years ago|reply
Can you set range headers from javascript? Can you set them from random video player SDKs?
[+] andreasklinger|9 years ago|reply
Most likely to make sure it works everywhere (browsers, proxies, etc)
[+] aggieben|9 years ago|reply
1. When will someone build a tool like this and then open up the measurements data? A speed-measuring tool would be infinitely more useful if we could investigate the results beyond just our one device for one test. A question I really want to be able to answer: which ISP offers the fastest service in my area? fast.com and speedtest.net could easily answer this question if they made the data available.

2. I think tests like this that rely on a built-out network and well-placed CDNs and such are probably junk. A more useful test would be against a handful of download targets that aren't optimized, and then average the results. This is particularly true for Netflix. Case in point: fast.com says I download at 78Mbps, but speedtest.net has me down around 57. I'm only paying for 30.

[+] comick|9 years ago|reply
I see this as a tool for netflix to immediately raise concerns about ISP neutrality. The link to another speed test (using some minor server) is there not by chance. If speed test is far better than netflix fast.com the ISP is clearly limiting the customer.
[+] Buge|9 years ago|reply
I seem to be unable to view the blog post in Firefox, it automatically goes to https which doesn't load.

Maybe netflix messed up their HSTS settings at some point in the past?

[+] daenney|9 years ago|reply
Looks like I've hit a case of IPv4 vs. IPv6. I recently noticed that fast.com starting showing me at about half my connection speed, 50Mbps. I only just now realised while looking at the traffic that it was doing it over IPv6. Disabling IPv6 in my network gets me a reported speed of 120Mbps on fast.com, which sounds about right for a 100/100 subscription + some burst.

My ISP hasn't even officially announced any IPv6 support, I discovered more or less by accident that if I enabled 6rd things "just worked" so the fact that it might not go at the full speed of my subscription isn't something I'm super worried about.

I've actually got a similar issue with Google. While using IPv4 I don't even leave my ISP's network as they have those Google Global Cache boxes at the edge and terminate my connection there but over IPv6 I do go all the way out over the internet to Google.

[+] mshenfield|9 years ago|reply
This does something good by providing a nice service for a common and difficult to answer question, and also seems like a smart strategic use of Netlix's resources.

The net result of applying their capital, engineering talent and existing infrastructure here: a positive recruiting impact for engineers, a positive branding impact for consumers visiting fast.com, and Netflix obtains information about internet speeds for IPs that are not currently Netflix customers, information that many businesses would find useful for things like determining the market for high bandwidth applications.

[+] Citrus2fizz|9 years ago|reply
Hows this for a discrepancy https://i.imgur.com/7SX2Wro.png
[+] tibbon|9 years ago|reply
I got 150 on Fast, and 120 on Speedtest. I think it just depends where the CDNs are in comparison to you.
[+] stronglikedan|9 years ago|reply
That's nuts! Does that indicate that your ISP is playing games?

I get an insignificant discrepancy: 91 on Fast and 91.99 on Speedtest.

[+] chrissnell|9 years ago|reply
You're on Centurtlink Fiber I see. I had a very similar experience with them. I switched back to biz class Comcast, which was far superior/faster in almost every area, even though ostensibly slower.
[+] brazzledazzle|9 years ago|reply
That's pretty dramatic. I wonder if they throttle, won't increase peering bandwidth and won't allow them to deploy an OCA within their networks like Verizon is/did? Could be that the connection is simply tapped out and they're trying to play hardball with Netflix. It is hosted on exactly the same infrastructure and served over the same network links after all.
[+] virtuallynathan|9 years ago|reply
This is a bit of an unfair test, as it is not in Netflix's best interest to provision enough CDN capacity for any user to hit 1Gbps, especially at peak times. Netflix wants to buy/provision just enough capacity so that users don't complain. Depending on the distribution of the users in the area, this could 5Mbps per user, or 15Mbps per user for a large amount of 4K streamers.

Netflix pushes their CDN nodes to the limit, 60-70Gbps per box for video. Speedtests don't make them money, so why provision capacity for it?

[+] djhworld|9 years ago|reply
My parents recently had 100mbps fibre installed, I told them to visit fast.com to test their speed and they were pleased at how easy it is to use and hassle free

Good work by Netflix.

[+] e28eta|9 years ago|reply
I'm getting a consistent difference between fast.com in Safari on iPad vs their Fast app (90-ish vs 65-ish, across 5 interleaved trials). I was hoping for better measurement in the native app, but I suspect it might just be a web view in a native shell. Anyone else seeing similar results?

I think this is an interesting idea, but I'm not convinced it'll actually make a difference. From the consumer side, there's nothing to say that the slowest link isn't Netflix's CDN when a discrepancy occurs between Fast and Speedtest.

I was receiving atrocious download speeds for movies from iTunes (18+ hours for 4 GB), and also saw slow speeds from speakeasy.net/speedtest. The comcast rep just pointed me at Speedtest and said "it's not a problem with your connection, it's fast! Contact Apple." He dismissed the "other" speed testing results. ISPs can continue to throttle directly or by refusing to upgrade peering connections. fast.com providing a number to go along with bad Netflix streaming quality doesn't improve the customer's life.

What I really want is something that empowers me to be heard in my request for the $75 worth of Internet that I pay for every month. I had high hopes that the SamKnows program might yield something, until I received a docsis 3 cable modem in the mail from Comcast with a note: "since you're a participant in SamKnows monitoring, we sent you this upgraded modem so you can take advantage of better speeds". My first thought was "what about all of your customers who aren't participating in SamKnows? When do they receive their 'upgrades'?" Do we really need the government monitoring everyone's broadband performance to ensure that companies are delivering?

[+] manish_gill|9 years ago|reply
I wish people would believe this. I had an hour long fight with my ISP the other day - the customer support people are provided with a script that they have to follow, and I'm trying to tell them that the speed isn't as good as they claimed it was. It got to the point where I was sharing screen with them on TeamViewer to show them the download speed I was getting.

Their response? "We use SpeedTest.net as standard, it must be a problem with the servers that you are using".

[+] pavs|9 years ago|reply
I wonder if Netflix makes it as easy to apply for their local CDN nodes as google does with GGC. I know akamai is super difficult to apply for and get admitted.

Ever since Netflix became available in our country we have been hurting BW wise. We don't throttle BW for any sites. Does anyone here have any experience with open connect (Netflix)?

[+] breakingcups|9 years ago|reply
"In pursuit of the design goal of simplicity, we deliberately chose to measure only download speed, measuring how fast data travels from server to consumer when they are performing activities such as viewing web pages or streaming video. Downloads represent the majority of activity for most internet consumers."

I'm willing to bet additional factors that went into that consideration were:

- Netflix gets massive download traffic on the cheap due to their scale. Upload, not so much

- This tool is a clever way of preventing providers from throttling Netflix servers without also throttling a (hopfully soon to be) popular speedtest. Uploading isn't something they need their primary customers to be able to do.

[+] tener|9 years ago|reply
Speed testing is a good starting point, but on my LTE connection (rural area) I find the latency to be very contributor to overall experience. Especially that once the link is saturated the latency shoots through the roof (up to x10). I wish there were some tools for testing more complex use cases.
[+] newscracker|9 years ago|reply
Unfortunately, it doesn't work for me behind a proxy (tried with three different browsers). I thought I'd just check it out (https://fast.com - trying http redirects to https anyway), but it says:

"Could not reach our servers to perform the test. You may not be connected to the internet"

P.S.: It also bugs me that it says "the internet" and not "the Internet". :)

[+] aidenn0|9 years ago|reply
Apparently my ISP upgraded my speeds; I tested at 170Mbps and when I last checked my plan it was 80Mbps.

In general, I've been quite happy with Cox. The actual network service is great. Customer service and pricing are so-so (I'm paying $60/mo. for the above connection; customer service is very hit-or-miss depending on which representative I get, but I haven't been outright lied to).