Thursday, August 27, 2020

Practical network (and Wifi) speeds

There are many complex and perfect ways to test your network speeds, but here are a few practical examples, that do not require a degree in Science or Math...

This is a simplified explanation, but it seems to work fine for me 😏


Basics

Scroll down for the more in-depth stuff (well, not that much in-depth, but it might help.)

There are two components that together define your experience:

  • Speed
  • Latency


You want the highest speeds and lowest latencies...


Fast.com

Fast.com is provided to you by Netflix.

Use:

  1. Connect your PC to the network you want to test
  2. Browse to fast.com
  3. Let it run one time
  4. Hit 'show more info'
  5. Settings
  6. Tick all three options ('loaded latency' 'always show all' and 'save config')
  7. Save

It should now run the test again. At the bottom of this page you'll find some results I gathered myself.


Real-world

The real-world experience is depending on so many factors that there isn't a simple, easy test. My current suggestion is to set up a Teams video call with someone who is on a known good connection, and simply try the image and sound quality at every physical location in your office and / or at home.

Note: Microsoft Teams adjusts the quality on the fly, so it's best to exit your call, then move to a new location and set start a new call, otherwise the results can be misleading.


Simplified

The text below is simplified and simplified again. Real experts will immediately point out the flaws, but it's good enough to understand what is going on. I hope 😁


Speed and bandwidth

That's simple, more bandwidth = higher speed = faster network. Network speeds are expressed in megabits per second, ie. mbps or Mbps (note the small 'b').

Don't mistake this for the other way to measure speeds, in megabytes per second, or MBps, which is used to measure, for example, the speed by which we copy files from one server to another. You'll find people and software mixing up the two terms all the time...

(Although a byte is 8 bits things like overhead etc. take their toll, so in general, you could say 10 mbps equals 1 MBps.)

Now faster is better, but once you have enough, it doesn't matter anymore. For example, streaming a Netflix movie in SD quality takes 3 Mbps, in 4k that same movie takes 25 Mbps.

So, if your network can handle 100 Mbps and you use 25 Mbps it means you have 75 Mbps left whilst you are watching a movie. That is 75 Mbps you are paying for but not using for anything. Then again, if four people want to watch four different movies in 4k, then it might make sense.

If you suffer from 'bufferbloat' the combination of a faster ISP connection, better router, and restricting download speeds on the client side may validate getting an 'oversized' ISP connection.


Weakest link

Things are never simple. Speeds (and latency!) are depending on the whole 'chain' of networks. For example, when using Wifi at home:

    server --> public internet --> ISP --> home network --> Wifi --> client device

The slowest part in the chain defines the overall speed. If you have poor wifi, then it doesn't matter what speed the rest of the network is, everything will the throttled down.


Examples of slowdown causes

  • A streaming server that gets hammered because the whole world wants to stream that one episode
  • Connectivity problems on the public internet (a broken fiber cable, technical issues in a data center)
  • Your ISP has severely 'overbooked' your connection, uses traffic analysis to throttle your speeds over longer periods of time, or is simply lying about the speeds achievable 
  • Your home network is too slow (not likely, but still: using a 100 mbps home network with a 200 mbps ISP makes no sense at all)
  • Your Wifi is too slow (major cause number one)


Wifi speeds

These pages list different speeds and flavors:


Perhaps the theoretical speed of your Wifi may reach 4 gbps (i.e. 4000 mpbs) but in reality that only happens if you have the most expensive kit, and sit directly next to your Wifi access point / router. But then... what is the use of Wifi in such a case? You'd be better of plugging-in directly using a cable...

Poor Wifi makes everything 'rotten'. If you want to watch 4k movies on your computer / widescreen television, forget about Wifi. Things get even worse when multiple users are using the Wifi network at the same time, or neighbors are causing interference. (Dutch readers, check out this page: Wifi en de Buren voor Dummies.)


Lag and latency

All those streaming bits pass through the whole network chain, ie.

    01010100010101001010 --> network -> 01010100010101001010

Transporting these bits takes some time. The longer the chain, and / or the more equipment, the longer it will take for these bits to arrive. This is called 'latency'. A good example is streaming a sports event to your laptop, and watching that same event live on television, and listening to a report on that same event on the radio. They'll probably be out of sync, as the information takes different routes, each with its own 'latency'.

When watching a Netflix movie, or anything one-directional, latency doesn't matter much.

Any activity which requires traffic in two directions may be heavily affected by high latencies. For example, when playing a game you don't want the on-screen events lagging your input by half a second or so. And you definitely don't want to see such 'lag' when remotely controlling an industrial machine or even a car!


Overbooking

The internet has a finite capacity, so does your ISP. Because not all users will simultaneously use the maximal bandwidth (they pay for) ISP's combine groups of users. For example, your ISP may decide to reserve 1 gpbs (1000 mbps) for 200 users of each 100 mpbs.

  • advertised user speed: 100 mbps
  • users per channel: 200
  • ISP backbone channel: 1000 mbps
  • theoretical maximal traffic: 200 x 100 = 20000 mpbs
  • overbooking 20:1


Now if those 200 users would all use their maximal bandwidth at the same time, they would theoretically use 200 x 100 = 20000 mbps, 20 times as much as the ISP has reserved as backbone capacity, an overbooking of 20 to 1. At such a moment, each user will only get 1000 / 200 = 5 mbps.

This becomes most visible during 'peak' internet hours, where your internet clearly slows down.

Overbooking does happen everywhere in the chain from server to client, but ISP's are typically the worst offenders.

When you test during peak hours with fast.com, your reported network speed might show this. Unfortunately, ISPs also often cheat and prioritize 'detected speed tests' (which is why loaded tests are important).


Overbooking and latency

Overbooking also affects latency / lag. Using that same example, let's assume that 20 of the 200 users are using half their bandwidth, then they would generate 1000 mbps of traffic 

  • advertised user speed: 100 mbps
  • users per channel: 200
  • ISP backbone channel: 1000 mbps
  • active users: 20 users generating 50 mbps per user
  • generated traffic: 20 x 50 = 1000 mbps

At that moment, the ISP's channel is fully filled, with all traffic evenly spread. And therein lies the problem: those 20 active users generate traffic at random, so before their traffic is transported, it needs to be 'queued': each block of data needs to wait for 'space' on the network.

When you're a gamer you'd love to know your ISP's overbooking... not something they advertise with!


Bufferbloat

Some modems / routers have issues with 'bufferbloat'.

You can find more about 'bufferbloat' here.



Example results

Ziggo (NL), 50 mbps cable modem, 1 gbps home network, Dell M2800, ethernet, outside peak hours, using Ziggo speed test: https://ziggo.nl/speedtest
  • down: 51.4 mbps
  • up: 3.1 mbps
  • ping: 11 msec
Ziggo itself consistently reported higher speeds than Fast.com.


Ziggo (NL), 50 mbps cable modem, 1 gbps home network, Dell M2800, ethernet, outside peak hours, using fast.com: https://fast.com

  • down: 45 mbps
  • up: 3.6 mbps
  • unloaded: 14 ms
  • loaded: 22 ms

Ziggo (NL), 50 mbps cable modem, 1 gbps home network, Dell M2800, Wifi, 2.4 Ghz, very close to the router, outside peak hours, using fast.com: https://fast.com

  • down: 46 mbps
  • up: 3.1 mbps
  • unloaded: 13 ms
  • loaded: 18 ms

It's actually a little faster over Wifi which seems weird, but though test results change a little each run, on average this was a little faster. Hmmm.


Ziggo (NL), 50 mbps cable modem, 1 gbps home network, Dell M2800, Wifi, 2.4 Ghz, 2 floors up, outside peak hours, using fast.com: https://fast.com

  • down: 14 mbps
  • up: 2.6 mbps
  • unloaded: 14 ms
  • loaded: 24 ms


Latency clearly went up with the longer distance / worse connection. Don't game over Wifi! Also note that both my direct neighbors were gone out when I tested. When they're in, the performance is way worse, with the Wifi incidentally dropping out. Worse though is another near household that runs an Airport, which, for whatever reason, causes disturbance on all Wifi channels. Unfortunately, they're not very cooperative to reduce the interference, sigh.

(But, if they ever read this blog, they might want to check out the Wifi en de Buren voor Dummies page.)



No comments:

Post a Comment