A comprehensive suite of scripts and configurations for network performance testing, focusing on metrics like latency, jitter, throughput, and concurrency. This repository provides multiple methods to conduct network tests, including web-based tools, command-line utilities, and containerized solutions.
Before using the tools in this repository, ensure you have the following installed:
- Docker (for containerized solutions)
- Node.js and npm (for
k6
if running locally) - Python 3.6+ (for custom scripts like jitter calculation)
- iPerf3 (for network performance testing)
A simple web-based option for a quick and easy network performance check.
- Open your browser.
- Navigate to https://speed.cloudflare.com/.
- Observe metrics such as download/upload speed, latency, and jitter.
Use iPerf3 to measure network throughput and latency. Refer to the commands in commands.txt
for examples.
- Install iPerf3:
- Linux:
sudo apt install iperf3
- macOS:
brew install iperf3
- Windows: Download from iperf.fr.
- Linux:
Run iPerf3 with the provided commands:
iperf3 -c ping.online.net -p 5209 -P 2 -t 60
- -c: Target Server
- -p: Port Number
- -P: Parallel Streams
- -t: Test duration in seconds
k6 is a modern load testing tool that provides a scripting API for defining performance tests.
- Install k6:
Linux: sudo apt install k6
- macOS:
brew install k6
- Windows: Download from k6.io.
Run a basic k6 test:
k6 run test.js
Locust is an open-source load testing tool that can be run using Docker Compose for distributed testing.
- Ensure Docker and Docker Compose are installed.
- Clone the repository:
git clone https://github.com/example/jitterbug.git
- Edit locustfile.py to define your test:
- Edit docker-compose.yml to include target host (*optional)
-H https://target.server
- Start Locust with Docker Compose:
docker-compose up -d
- Access Locust's web interface:
- Enter the number of users and spawn rate.
- Monitor metrics like response time, requests per second, and errors.
A Python script to calculate jitter from network latency measurements.
Ensure Python 3.6+ is installed.
- Ensure your latency data is in a CSV file (e.g., latency.csv).
- Run the jitter calculation script:
python jitter_calculation.py latency.csv
- Output:
- Average jitter (in milliseconds) is printed to terminal.
We welcome contributions! Please read our contributing guidelines for more details.
This project is licensed under the MIT License. See the LICENSE file for details.