When you have slow internet speed, it can be a challenge getting remote work done, watching Netflix, or playing Call of Duty. The actual internet speed your computer has is a product of the slowest speed in the chain of connections from your provider, to your house, your modem (or whatever internet connection device you have), to your computer (or laptop/tablet/phone/etc). This means that your speed could be slow because of your internet provider, your modem, router, wifi, or your computer. Figuring out which one can be a challenge. This article will help you figure out what the root cause is and be able to fix it.
I’m first going to put the local tests in context. If you want to just skip to the iPerf3 instructions, jump down to, ‘Measure your local Wi-Fi speeds’ below.
Typical configurations at home
Before we dig into troubleshooting where the issue is, let’s do some quick level setting on devices. This is a typical setup and yours may be different. Typically, your internet provider gives you a modem-type device to connect with. It could be for fiber optic, cable, satellite, etc. For the purposes of this article, I’ll call it a modem. The router is the device that connects to your modem directly and then shares your internet connection with wired and Wi-Fi devices. Many modems have a router built-in so it is just one device. Your actual internet speed is affected by all of these devices.
Overall (all-inclusive) speed test
Measuring the speed overall including the internet provider speed, your modem, router, and Wi-Fi is straightforward. Just use the speedofme or Ookla speed test. They aren’t perfect, but good enough for home users to estimate speeds. There are some concerns about internet throttling and prioritization, but that’s beyond the scope of this article. If the speeds are slower than you expect, here are the steps to take to find what is causing the slowness.
If you want to determine if you are getting the advertised speed (that you are paying for) from your internet provider, you need to test the speed from a device wired to the modem directly. If you have a NAS, I wrote instructions how you can setup a docker image to do speed testing for you every hour and track it over time automatically. I run this at home and it works amazingly well. If you have an issue, you can trace back to the day and time that the speed starting suffering. If you don’t have a NAS, you can plug a computer into the modem and run one of the tests above. This isn’t ideal, but will help you measure what the maximum rate you can get from your provider at that time.
Measure your home Wi-Fi speeds. The speed of your own Wi-Fi from your wireless router to your device may be the cause of your slow internet speed.
Measure your local Wi-Fi speeds
If you want to test your own Wi-Fi speed at home (completely independent from the internet), that’s a different challenge. In other words, measuring the speed from your router to your devices in your home. Understanding where your Wi-Fi is working well at home and where you may have ‘dead spots’ makes all the difference. If you normally use your Wi-Fi in your room, and you don’t have good coverage, you may have an easy fix of simply relocating your Wi-Fi router to a new location. So how do you figure this out?
You can use a tool called iPerf3 to test your local Wi-fi. One option is to install this software on a laptop, connect it directly to the modem and then install the mobile app on your phone and begin testing. The instructions for setting up the client is below. You need the software on both to measure the Wi-FI speeds between the two. This works, but isn’t ideal as every time you want to test, you have to set all this up.
A better and easier way is to use a Network Attached Storage (NAS) device. There is a docker container version that’s super easy to get rolling and you can test your local internet speeds between your router and any device in your home. The docker container I recommend is provided by networkstatic. If you are comfortable with docker and a command line, the setup is straightforward. If not, and you want to set it up with your Synology Docker, I have created the instructions below!
Synology Docker Installation steps:
- If you don’t have Docker installed, go to the package center and install
- Open Docker
- Click on the Registry (on the left)
- Search for “iperf3” in the top right
- Double click on networkstatic/iperf3 (should be first result)
- On Image on the left should indicate it is downloading
- Click on Image on the left and wait for it to download
- Double click on the image you downloaded
- A new configuration window will open like the one below
- If you want to name it something different, now is your opportunity
- Click Advanced Settings
- Click the Enable auto-restart (so it starts again if there is a reboot or issue)
- You can ignore the volume tab
- Click on the Network tab
- Choose the checkbox at the bottom, Use the same network as Docker Host
- You can ignore the Port Settings and Links tabs
- Click Environment tab
- Important – in the textbox for Command, enter “-s” as shown below (to run it as a server)
- Click Apply, then Next, then Done
- The new container should startup
- Click on Container and you should see it running
- If you double-click on it, and click on log, you should see
- Server listening on 5201
- Done! Now you are ready to install a client app to connect to this
- On your iphone, you can download iPerf 3 Wifi Speed Test app to test your wifi from all over your home. Just enter the IP address of your NAS and the listening port
- There are also many other apps out there for Windows, Android, Apple, and more on the iPerf site
- If you download the windows application, use the command below (with your own NAS IP address)
iperf-3.1.3-win64>iperf3 -c 192.168.xxx.xxx
Once you have this setup, you can roam around your house and measure your internet speeds in each room. The easiest fix of you have a dead spot is to move your router.
Between this article and the article on how to test the internet speed coming to your house, you now have the tools to accurately measure your internet speeds and pinpoint where you my have an issue.