I need to aggregate speed test data from my users who are WFH on company equipment.
Something like - run a speed test once a day then add it into a full report I can make a dashboard out of.
We are struggling with justifying users to WFH because of internet issues.
Edit
Looking to measure jitter, latency, and packet loss between two sites. Our VoIP solution and WFH users are struggling to understand why their connection sometimes comes into play with call quality.
Speed test back to your company’s servers, or speed test out to some online speed testing site?
As a note, a raw speed test might not really be all that useful, because there are a lot of factors that go into how viable working remotely can be. For example, are users connecting back to the corporate network over a VPN? How are they interacting with servers, is it some form of terminal services, SMB, SFTP, http/https? If it’s SMB, SMB remotely will pretty much always suck, even with a fast internet connection, it’s not made for that use case.
And honestly, even beyond that, internet speed shouldn’t be the metric used for allowing WFH. Your employees should have key performance metrics that are being measured, and if they’re able to maintain acceptable levels of performance working remotely, then that should be acceptable, regardless of internet connection speed. That being said, as long as the company is providing the tools to work remotely, but the employee is providing their own internet connection, it’s not on the company to troubleshoot that internet connection. We typically troubleshoot so far as to determine if the issues are caused by the company provided tools or the employee’s own personal internet, if it’s the company provided tools, we work to resolve, if it’s the employee’s personal internet connection, we don’t (well, we try to help a little, but limit how much troubleshooting we’ll do.)
If you use Zscaler at your organization, they have ZScaler Digital Experience (ZDX) that’s useful for deep diving into network related issues for specific apps etc.
A generalized speed test to a random speed test server may not be fruitful depending on how your network is setup.
Of course be mindful that running speed tests can also eat up tons of bandwidth and your users will definitely start seeing more connectivity issues when your speed test job runs.
Speedtest.net offers an EXE that you can push to all the workstations and run a script via CLI to gather your results if you like. Then just setup a collector script of some sort or utilize some API to store the data for you so you can analyze the results.
Some other ideas: if you use Teams the call quality dashboard has some good stats but only if they use Teams. If you use a VPN some can aggregate some basic statistics for remote users.
Check NetBeez out. It supports network speed tests, iperf, and ping for latency, packet loss, jitter and more. All data is aggregated and can be analyzed in real-time and via reports etc.
I know it’s been mentioned already but my org uses this self-hosted speed test to measure internal speeds between clients and our datacenter. Might be useful if you have a on-prem solution you’re testing to. Tests for download, upload, ping, and jitter.
There would be a lot of variables to consider. What are you testing? If it is just their Internet speed that would be largely useless if they need to do everything over a VPN and the incoming connection to the VPN is slow.
How the apps they use behave also has a large impact. Do they manipulate large files frequently over a VPN, that could really suck.
For other stuff you might be able to put together a Powershell script that writes everything to a DB.
The other option (but it only works if your using Cloudflare Tunnels) is the Cloudflare Access DEX tools. It doesn’t have a built in speedtest per say, but you can query say a 5MB file every hour or something, and then use the time it takes to fetch said file as a rough measurement of speed.