OpenSpeedTest an Open-Source Self Hostable HTML5 Network Performance Estimation Tool

Internet speed test showing 811.1 Mbps upload, 832.9 Mbps download, 4 ms ping, and 0.3 ms jitter with performance graphs.

“OpenSpeedTest is written in Vanilla JavaScript. No Third-Party frameworks or libraries were used. The unexpected side effect of using Vanilla JavaScript is High Performance. OpenSpeedTest contains only STATIC Files like HTML, CSS & JS, so you don’t need to worry about Security Updates or Hidden Exploits that may compromise your secure environments.”

You may want to use something like this if:

  • You have employees working from home, and they want to do a basic speed test to the office to check their connection is OK.
  • You want to stress test or benchmark your home network from various devices to a server, a media machine, etc.
  • Or to test between two client devices across your LAN.
  • By doing the test from various locations around the home, you can see how your Wi-Fi speed varies from different places.
  • Also test from a private browser window to see if extensions are slowing your browser down.
  • Do tests before and after network changes to see what impact it has e.g. when adding a LAGG interface between the server and the router.
  • Host it on a public web server for users to check their connection speed.

The server side stores no data so it is just a question of spinning up a docker container, and connecting with any browser to run the test (nothing to install on the client device). My docker container used 0% CPU while not doing a test, and used about 45 MB of RAM. It jumped to 17% CPU during the test.

You can optionally save speed test results to a database, but it points to an external database that you have running somewhere.

See https://github.com/openspeedtest/Speed-Test