Your ISP Says Your Internet Is Fine. Prove It Isn’t.
“Have You Tried Restarting the Modem?”
If you’ve ever called your internet provider about slow speeds, you know how it goes. They run a test from their end, it looks fine, they tell you to restart the modem, and the call ends. Then at 2 PM the next day, right in the middle of a video call with a client, everything crawls again.
The problem is you don’t have proof. All you have is a feeling, and a feeling won’t get you a technician or a bill credit.
So let’s fix that. With a cheap mini PC, or a Raspberry Pi you probably have in a drawer, you can run a little box that tests your internet speed on a schedule, day and night, and draws you a graph. The next time you call, you won’t be saying “it feels slow.” You’ll be saying “here are three weeks of data showing my download drops by half every weekday afternoon.”
What You’ll Need
- A small always-on computer. A Raspberry Pi 4 or 5, an old laptop or a used mini PC from eBay. Anything that can run Docker.
- An ethernet cable. This matters. Plug the box straight into your router or main switch. A test over Wi-Fi measures your Wi-Fi, not your internet connection.
- About an hour. Most of it is spent waiting for downloads.
One hardware catch is that older Pis can’t keep up. A Raspberry Pi 3 tops out at a few hundred megabits on its ethernet port, so on a gigabit plan it’ll make your internet look slow even when it isn’t. The Pi 4 and newer have real gigabit ports. If you’re on a multi-gig plan, you’ll need a box with a 2.5 gig port to measure it properly.
The Software: Speedtest Tracker
The tool I like for this is Speedtest Tracker, a free open-source app that runs in Docker. It runs Ookla’s speed test (the same engine behind speedtest.net) on a schedule you pick, saves every result, and puts it all on a clean web dashboard with charts for download, upload and ping.
Setup goes roughly like this:
- Install Docker on your box. On a Pi running Raspberry Pi OS, Docker’s own install script takes care of it in a couple of commands.
- Grab the example Docker Compose file from the Speedtest Tracker docs. It’s a short text file that tells Docker what to run.
- Set your time zone, an app key (the docs show you how to generate one) and a test schedule.
- Run docker compose up -d, open the box’s IP address in your browser, log in, and change the default password right away.
Follow the current docs instead of copying a guide from two years ago. The project changes, and setting names move around.
How Often Should It Test?
Here’s a trap nobody mentions. On a fast connection, every speed test pulls down and pushes up a real chunk of data, often around a gigabyte on a gig plan. Test every 15 minutes and you could burn through hundreds of gigs a month. If your plan has a data cap, check it before you set a schedule, or you’ll have made your own overage bill.
Every two to four hours is plenty to spot patterns. If you’re chasing a specific problem, like slowdowns every afternoon, test more often for a few days and then back off.
Reading the Results
After a week or two, look at the graph. You’re looking for patterns, not single bad tests. One slow result at 3 AM means nothing. Here’s what usually shows up:
- Drops at the same time every day. Often in the evening when the whole neighborhood is streaming. That points at your provider’s local network being overloaded, and that’s a legitimate complaint.
- Random total dropouts. Tests that fail completely, especially in clusters, can mean a bad line, a loose connection outside or a dying modem.
- Ping that jumps all over the place. That’s what makes video calls choppy even when download speed looks fine.
- Everything steady and fast. Surprise. This one matters too.
When the Logger Says It’s You
That last result is humbling, and it happens more often than you’d think. If the wired box gets full speed all day but your laptop still crawls, the internet isn’t the problem. Something on your end is. Maybe it’s a weak Wi-Fi signal in the back office, an old access point or a cloud backup hogging upload during work hours. Some laptops even ship with “bandwidth management” software that throttles their own traffic in the name of helping you. Yes, really.
That’s still useful. You just saved yourself a week of fighting your ISP over a problem that lives in your building.
Using the Data With Your Provider
When you call, be specific. “Since October 1st, my download speed has dropped below 40% of my plan speed every weekday between 1 and 5 PM. I have test logs from a wired connection, and I’ve already restarted the modem.” That’s a very different call from “my internet’s slow.” Screenshot the graph, export the results to a spreadsheet, and send them over if they give you an email address or a ticket number.
It won’t always get you a fix on the first try. It does get you past the script faster, and it gives you a paper trail if you end up asking for a credit or switching providers.
Bonus: Get an Alert When It Drops
Speedtest Tracker can notify you when a test comes in under a threshold you set, through options like email and Discord. Set it to ping you if download falls below half your plan speed. That way you hear about the problem before your staff starts complaining about it.
Small Box, Big Payoff
This is one of my favorite homelab projects for business owners because it pays for itself the first time you need it. It’s cheap, it sits quietly in a corner, and it turns arguments into evidence.
Got questions about setting one up? Reach out through yourtech.solutions.