Why can’t Centurylink Gigabit Fiber stream Netflix 😒 ?

I started wondering why Netflix has trouble maintaining a stream in the evenings on my Centurylink Gigabit Fiber connection. It would constantly flip from 1080 to 720 to 480 and really struggle to deliver content. I obsess over network and internet speed so I tested Netflix connected via ethernet cable 10 ft from my router with a Roku, Apple TV, and the Vizio app. No differences.

Those who know me know I’ve seen this before when I lived in New York and my Verizon Fios connection couldn’t stream Netflix.

Recently Netflix released Fast.com, their website for testing your connection speed to them.

3 Mbps is 0.3% of a gigabit connection (0.375% if you allow for 20% overhead so you get 800 Mbps usable). Unsurprisingly the trick I used with Verizon (connecting to Netflix through a VPN) worked here too.

At 9:52, June 21st for reference I got 2.4 Mbps on my Centurylink Gigabit Fiber and 81 Mbps on the same connection tunneled through VyprVPN (Seattle).

This absurdly poor performance made me curious and I wanted to try to test this and gather more data to share with you.

Here’s my data!

Holy variability!I ran an experiment testing Fast.com once an hour from 2 locations for over a week. One of the most surprising things with my experiment was the huge variability in performance at home.

If I were to describe the typical behavior of my connection to Netflix, from 1am to 7am it flies… usually at over 300 Mbps, and faster than my work connection. Late morning, it starts to drop like a rock. In the afternoon, there’s a blip where it gets better and then in the evening it bottoms out around 8 or 9 o clock.

This pattern happens every day like clockwork.

Test Conditions

So how did I gather the data? I have 2 identical setups at work and at home. In each location I have a Lenovo TS140 hardwired to the router. This computer runs a script every hour that executes a speed test on Fast.com and logs the value in a google sheet.

It’s a little overcomplicated using a docker container running Casper.js as well as IFTTT to add the result to the Google Sheet.

Here are all the results in the google sheet.

https://docs.google.com/spreadsheets/d/1K-FJ6TMRyRDfWy1n1npzdwLX0z_9DwRGmoPaI_-yk-g/edit?usp=sharing

Is Netflix the bottleneck?

One of the things I wanted to make sure of was that when I was seeing poor performance at home, it wasn’t Netflix.

That’s where the “Work” test comes in. That’s my control. My work connection is 250 Mbps so not as fast as home should be. There’s a little bit of variation in the connection speed to Fast.com from Work, but for the most part it’s stable and predictable.

As far as I can tell, Netflix can supply more bits than my work 250 Mbps connection can consume.

Netflix is not the bottleneck.

What’s next for my little experiment?

This looks like a clear case of under-provisioning for demand. And it’s not just Netflix. I’ve noticed poor performance during peak times across other services too however no issues on Amazon Prime or HBO Now.

I’m still curious about a couple of things like:

  • Are there particular routes that are more congested than others? I might try to test this every hour like I did with Fast.com but using Speedtest Mini on servers around the world.
  • What’s the maximum throughput you can get if you have to tunnel through a VPN? I’m curious to hear from you. How do you verify you’re getting the internet speed you paid for? Have you collected your own data on Netflix performance over time?