A quick monitoring project.
As anyone from the UK will know, our internet speeds aren't quite up to par with the rest of the developed world. From personal experience, I very rarely achieve the advertised internet speeds, even when directly connected to the router. Similarly, some ISP's I have used seem to have loads of dropouts, and fairly poor response to criticisms of speed. So, I though I would try to monitor the internet a bit closer, I had a spare RPI hanging around not really doing much besides a minecraft server, and thought it would be an interesting experiment.
So, I set up an IFTTT webhook, and a cronjob on the RPI to automatically update a Google Sheets document with the latest speedtest results.
Inspiration thanks to this project, and I've had a lot of fun experimenting with the data retrieved.
Part 1: University
Whilst at university, my internet was being provided by BT, and the fastest we could supposedly get was 35mb download speeds. However, we were having constant dropouts and nothing was being done about it.
As it turns out, we have NEVER achieved our advertised internet speed, and dropped out a number of times in the few months I have run this (although as it only runs every half hour, I'm pretty sure we have dropped out more frequently than this).
Other interesting insights from this data include seeing how the Coronavirus internet surge did in fact slow down our internet as everyone moved to remote work.
Part 2: Back Home
Our internet here is provided by Virgin Media, on a 350mb/s(!!) plan. Now unfortunately thanks to the Raspberry Pi I am using, the Ethernet port only supports 100 Base. As a result, none of the speedtests will actually reach 350mb/s (but if it drops below that, then we should see a difference).
(Update - June 2020), upgraded to a newer Raspberry Pi, so should be able to show faster speeds.
However, this connection actually has far more significant variance, with the most noticeable pattern contained within the upload speedtest (presumably virgin media throttles this channel to support more downloads at peak times). Something also to note is that this environment has ~ 5x more devices on the network, which could be a bit of an issue as well.