Welcome to our benchmarking project! Here, we are conducting performance tests to evaluate different HTTP frameworks in Go. The goal is to better understand how each framework performs under heavy loads and identify which one offers the best performance for different scenarios. for acces the quick benchmark click here
To ensure accurate and reliable benchmarking, we use two powerful load-testing tools:
Tool | Purpose | Key Metrics | |
---|---|---|---|
k6 | Scenario-based load testing | RPS, Duration, Error Rate | |
Vegeta | High-volume HTTP benchmarking | Latency, Percentiles |
Our benchmarking evaluates essential metrics, including:
- Total HTTP Requests: The total number of processed requests.
- Requests per Second: The number of requests handled each second.
- Average Response Time: How long the server takes to respond to each request.
- Data Received and Sent: The total volume of data transmitted.
- Error Rate: The percentage of failed requests.
The project is organized into directories, each containing its own tests and configurations:
The graphs below represent the latency comparison with vegeta:
📁 k6/ - Load tests using k6. See the k6 README for details.
The graphs below represent the number of request por second in K6
📁 vegeta/ - Load tests using Vegeta. See the Vegeta README for details.
- Fastest:
Framework quick
(12ms median) - Most Consistent:
Framework quick
(<5ms variance)
- Highest RPS:
Framework quick
(18k req/s) - Best Efficiency:
Framework quick
(14k req/s at 60% CPU)
Each directory contains detailed instructions on how to execute the tests. Simply navigate to the corresponding directory and follow the guidelines.
If you want to contribute with new tests or improvements, feel free to open a PR or share your ideas! 🚀
Let's discover together which framework delivers the best performance! 🎯