Internet Speed Testing

So, I’ve just upgraded my internet from VDSL Broadband FTTC and was getting and average of 34Mb/s, reliably demonstrated by a speedtest.net on the PC and fast.com on HA, both matched results. Now I’ve go full fibre FTTP, with the engineer showing me a speed of 270Mb/s on his device, and tests since between 269-276Mb/s, this is where I’ve noticed the issues on HA.

Now, I wonder if some of you can help me get to the bottom of why HA won’t show a true internet speed test, everything I read so far just lays the blame with hardware, but I can disprove that as the cause.

Running HA OS (Core 2024.9) as a VM on Proxmox 8.2.4, I’ve used both fast.com and speedtest.net integrations. Hardware wise, Proxmox is running on a Dell 7070 Micro Intel 9500T 6 core, 32GB RAM, 1TB NVME drive, with a Intel i219-LM Gigabit NIC, HA has 2 Cores, and 4GB RAM assigned to it.

My internet speed shown on HA:
Fast.com shows around 131Mb/s, but did peak at 151Mb/s over the past 24 hours (polled every hour).
SpeedTest.net has shown between 191 and 212Mb/s in the last hour or so, graph currently polling every 5 mins so I can get an immediate gauge of things since I recently tried speedtest.net.

Now to disprove the “hardware” thing. Ubuntu 24.04 has 2 Cores and 3GB RAM assigned to it.
SpeedTest.net on a Firefox browser shows 276Mb/s.

Network settings for both VMs are the same on Proxmox.

Also extra info I’m running pfSense on a mini PC, all 4 network ports report the same speed and duplex, Promox is connected on it’s own dedicated port, and the Ubuntu speed test matches my PC (connected on another port) speedtest.net test, just to rule out pfSense.

I also added OpenSpeedTest to HA, which is an internal network test, just to see what that would show, and that shows 288Mb/s down and 279Mbp/s upload from my PC, and if I run LibreSpeed test (which is in a container on my NAS) on the Unbuntu VM I get 275Mb/s down and 368Mb/s upload. But here I know the limiting factor is probably the Powerline adapters from my home office where my NAS and PC is, to the Proxmix machine and router in another room. For context if I do a LibreSpeed test on my PC I’ll easily see around 4,000Mb’s down and 2,000 up. But since Proxmox in plugged directly into the pfSense router (and provider modem) there’s no Powerline interaction.

So is the an HA issue, an integration issue, limitations within HA? Has anyone with higher then standard FTTC internet, rated at max 80Mb/s (in the UK anyway) been able to get the HA speed to match there true internet speed?

There’s no real need for me to test, but I want some sort of medium term data so I can prove to my provider what speeds I usually see if theres ever a drop in speeds.

Just as I finish writing, sppedtest.net on HA shows 246.47Mb/s, so at least that’s closer, unlike fast.com.

Not something I’m actively tracking or cared about too much, as there are a heap of variables that can impact the results. Congestion is most likely a cause, every packet sent requires an acknowledgement, and yes “ack” can be space-out based on TCP window size, but if the test uses UDP they are unacknowledged and congestion in the carrier network can cause drops.

Never the less, your comment left me curious so I installed SpeedTest no in the UK but in NZ with FTTX to home. My HA is running on a HP DL380 Gen 10 with 4 CPU’s allocated and 16Gb of RAM on Enterprise SAS disks

image

I do track Latency to my first hop as that is normally the indicator that the local FTTX node is struggling with the neighbour traffic

image

I’d not trust results from fast.com. Tests that I run on my FTTH (1000/100Mbps) are showing download speeds up to 1.5Gbps, which is not technically possible, given 1Gbps link between ONT and my router and 950Mbps max routing capability of router itself.
Speedtest.net is differen story. Here a lot depends on selected server and traffic congestions in the network during taking the measurement. Here I’m getting from my desktop ~940/105Mbps, from VM running on the same ESXi host as HA very same result - so platform is not limitation. Speedtest.net integration in HA shows always somehow worse results, averaging 750~800/100Mbps. What I found is that list of available serves to be configured in HA is limited, comparing to full list of servers that you can use with web or native client and these are not the fastest I found for my location. Using auto also selects server based on ping response, which is not necessary corelated with actual speed (througput) of connection to this server.
So I’d not pay too much attention to these results, unfortunatelly. I was using this mostly to proove to my old supplier (cable TV, 500/30Mbps) how frequently I totaly loose the connection, rather than the actual speed of the link. Now I live happy with FTTH, with stable connection and available bandwidth exceeding my real needs.

My experience has been that the native HA Speedtest integration does not provide accurate results for high speed links (fiber-to-the-home). However the organization Speedtest.net has developed binaries that can run on certain machines (x86, ARM, 2etc.) that does provide much more accurate results. There are a variety of ways of importing the binary’s test results into HA. Here is an SpeedTest AddOn that does this.

1 Like

Thanks everyone, so, after settling in for a few days, SpeedTest has been close to a web based speed regularly, and every now and then it will provide a result that I would expect.

So I think you’re right, there’s a lot of variables going on and also depends what’s happening on the hour it does the test. Plus you have the nuances of HA itself.

SpeedTest for the most part has been 0- 30-40Mb/s below the 276Mb/s I tested via the web UI on a PC. Over long term data, I can work with it. The main aim is for me to be able to see dramatic speed drops, so along as its testing above 230Mb/s consistently, I’m fine with that. I was promised a minimum speed of 155Mb/s and that’s my main goal of wanting to do this, to see at a glance if that isn’t achieved.

I have no idea why initially SpeedTest wouldn’t provide results over 150Mb/s ish in the first 12-24 hours, but it does seem to have settled in to providing consistent and predictable close to max speed results.

I can confirm fast.com is useless for high speed internet and I have seen a flat line 130Mb/s in the past 5 days with a max of 133Mb/s.

@wmaker thanks so much for the SpeedTest AddOn info and link, I’ll get that installed and test that and report back for anyone else in my situation or comes across this thread.

Again thanks for the replies everyone, I’ve had HA running for sometime for basic light control, but now I’ve moved HA from a container to OS I want to get more into it and do more.

Update after setting up the SpeedTest AddOn and triggering the test manually I’ve successfully got results of over 270Mb/s more than 10 times in the space of an hour. So, thanks @wmaker I’m calling that a win.

Now, I will give some extra info for anyone else who wants to set this up as I did have to do a bit of extra research and things weren’t so clear on SpeedTest AddOn page once the add-on is installed, especially if you’re a HA novice like me, although generally the info on the page is better than some other add-on pages I’ve seen which provide little to no help.

Obviously, install the official SpeedTest.net integration, then follow the instructions on the SpeedTest AddOn page, as I’ll only be including additional info to help you.

Firstly, when you get to the Automation set up part it’s not clear what to enter, but I did find this Reddit post that helped, although I have included my own image as I think the one on Reddit is in German.

Add a Trigger and select Time Interval. In the Reddit post a user says it’s best to carry out a polling at a random time other then on the hour, as it may provide better results if it avoids anything else that might run on the hour by default that could use hardware resources. I’ve used 15 minutes, so the test will run on the 15th minute of every hour. You can also add more triggers if you want the test to run more often.

Then Add Action and find Home Assistant Supervisor and select Start add-on, then in the Add-on box select Speedtest, it will say “6b87c29e_speedtest_addon” underneath. This is somewhat described on the SpeedTest AddOn page, but it’s not as clear how to setup the automation.

Secondly you need to configure the SpeedTest add-on, again it is shown in code form on the SpeedTest AddOn page, so go to the Add-ons section in Settings, then click on the Speedtest cli addon, this will take you to where you initially installed it, then click on Configuration and select the following options.

Then go back the the Automations section, and Run the automation from the kebab 3 dots menu. Return to the previous Add-ons page and click on logs, now you should see a list of server names, what I did was test each server in a browser before hand (you may have to use a private window to avoid caching producing slow test results) - it is recommended you do select a fixed server on HA for consistent results instead of letting Speedtest auto choose a server. Copy the server id next to your chosen server, then go back to the Configuration page of the add-on, turn off “print_closest_server”, turn on “Show unused optional configuration options”, this will show the “server id” option, paste in the server id number you copied from the logs. You may have to manually Start the add-on again after doing this, I had to.

That’s it, you’re done, here’s the most unclear bit though, even if its a “am I being dumb” moment, “Now what? How do I add it to my dashboard?”, if you’ve already got Speedtest.net entities set up in Gauges, Cards, or Graphs, you don’t need to do anything, that’s it, you can verify they are working by trigging the Automation manually, refreshing the Log for the add-on, then see if the log result matches your dashboard. If you haven’t already added Speedtest.net to your dashboard then follow the official integration instructions on how to use the sensors, so basically use the sensors as you normally would, for example for a Gauge use entity sensor.speedtest_download.

Thanks again to everyone who replied, especially @wmaker for providing the answer, I really hope my additional info helps anyone else who is struggling.

Make some neccesary changes in the network configuration.

Not needed, SpeedTest AddOn is the solution.