https://github.com/compscidr/bwtestjs
Javascript bandwidth test using Jquery. Works on slow (28.8kbps up to ~1Gbps). Has bounded runtime.
https://github.com/compscidr/bwtestjs
Last synced: 8 months ago
JSON representation
Javascript bandwidth test using Jquery. Works on slow (28.8kbps up to ~1Gbps). Has bounded runtime.
- Host: GitHub
- URL: https://github.com/compscidr/bwtestjs
- Owner: compscidr
- License: apache-2.0
- Created: 2018-11-27T20:45:05.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-09-14T15:27:52.000Z (over 2 years ago)
- Last Synced: 2025-02-22T01:35:13.424Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 334 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bwtestjs
This is a jquery-based speedtest tool which is inspired by JQSpeedTest: https://github.com/skycube/jqspeedtest
It is slightly different in the following ways:
1. It does not generate a random string for upload, it uses the same files that
were used for download to perform the upload
2. JQSpeedTest had the problem that for fast connections, a single TCP
connection could often not overwhelm the connection. This tool allows for
multiple parallel TCP connections inspired by
`iperf3 -P <# of parallel requests>`.
3. This test has different connection speeds in mind and can scale up the test
so that it starts with slow connections and gets more and more demanding if the connection can handle it. For instance, it starts with a 20kb file which should
be downloadable on a 28.8 kbit/s connection in 5 seconds. If this happens fast
enough, it will proceed to a 40kb file which should be downloadable in 5 seconds
on a 56.6 kbit/s connection. This continues all the way up to a 1Gpbs connection
with the target time of about 10 seconds for the total test.
## Instructions
1. Clone the repo into your webserver
2. On the webserver, run the `generate_data.sh` file to generate the data files.
3. If you wish to have a separate server to handle the load of the bandwidth
tests, host the test transfer files on that server, and set the server url
in the configuration.
4. On the client webpage, use jquery's onload, or attach a button click event
to starting the bandwidth test.
5. Tie-in to the event-driven callback functions to handle the results of the
test.
6. (optional) Open the developer console in chrome / firefox to see logging and network traffic during the test
## Demo
Running demo at: https://test.rightmesh.io/bwtestjs/
[](https://www.instagram.com/p/BqzJp_jFziZ)