Self-hosted Speed Test for HTML5 and more. Easy setup, examples, configurable, mobile friendly. Supports PHP, Node, Multiple servers, and more - librespeed/speedtest
Does anyone know of a speed test where you can set it up to run by itself regularly and push a notification to a channel (like pushbullet or similar) when the speed is below a certain threshold?
Edit: I went with self hosted speedtest-tracker as a docker container and notifications through Discord webhook.
If I had this requirement I would just generate a file of specific size, place it on one server and on the other I would have a shell script running via cron and measure the time it took to download the file.
It seems like a relatively simple problem.
BTW are you sure you want to test download speed and not latency? I think some routers might have the later built in.
Definitely speed. My ISP runs on another service providers hardware and it bugs out from time to time and I get 1/10th of the speeds I usually have. My ISP has no way of knowing this so I have to know when it happens and place a ticket so they can place a ticket on the hardware guys.
Once every 6hrs would only be 180GB. A script that does it every six hours, but then increases the frequency if it goes below a certain threshold, could work well. I guess it all depends on how accurate you need the data to be.
Funnily enough, I had something exactly like this set up with home assistant. You can add Ookla and fast.com speed tests as devices, which will run the tests periodically, and then I had an automation set up to send me a message via telegram whenever speed was less than half of what it was supposed to be
If you’re on MacOS, you can run networkquality via crontab and append the results to a text file. I did this for a few months on a congested network to identify ideal times to try and do schoolwork.
Does anyone know of a speed test where you can set it up to run by itself regularly and push a notification to a channel (like pushbullet or similar) when the speed is below a certain threshold?
Edit: I went with self hosted speedtest-tracker as a docker container and notifications through Discord webhook.
Thanks for all the tips!! ❤️
If I had this requirement I would just generate a file of specific size, place it on one server and on the other I would have a shell script running via cron and measure the time it took to download the file.
It seems like a relatively simple problem.
BTW are you sure you want to test download speed and not latency? I think some routers might have the later built in.
Definitely speed. My ISP runs on another service providers hardware and it bugs out from time to time and I get 1/10th of the speeds I usually have. My ISP has no way of knowing this so I have to know when it happens and place a ticket so they can place a ticket on the hardware guys.
There is speedtest-cli at least that you can run from a script.
I self host speedtest-tracker for this.
Ah, another thing to install on my Synology NAS! LOL Thanks for sharing that.
Fair warning that this would chew through a ton of bandwidth if you run it often, so only do it if you don’t have bandwidth caps.
It really depends. Once every 1-5 minutes, sure, maybe. Once every 1-5 hours tho? You’re likely fine.
True, although once per hour would still be a lot of data.
For example me running a fast.com test uses about 1.5GB of data to run a single test, so around 1TB per month if ran hourly.
Once every 6hrs would only be 180GB. A script that does it every six hours, but then increases the frequency if it goes below a certain threshold, could work well. I guess it all depends on how accurate you need the data to be.
Maybe try https://myspeed.dev/
Funnily enough, I had something exactly like this set up with home assistant. You can add Ookla and fast.com speed tests as devices, which will run the tests periodically, and then I had an automation set up to send me a message via telegram whenever speed was less than half of what it was supposed to be
If you’re on MacOS, you can run
networkquality
via crontab and append the results to a text file. I did this for a few months on a congested network to identify ideal times to try and do schoolwork.E: A word.
There is a Speedtest Integration for HomeAssistant and you could automate a notification.