# mcollina/autocannon

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mcollina-autocannon).**

8,474 stars · 344 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/mcollina/autocannon
- awesome-repositories: https://awesome-repositories.com/repository/mcollina-autocannon.md

## Description

Autocannon is a Node.js HTTP load tester and benchmarking utility used to measure server throughput and latency. It functions as a high-performance request generator designed for stress testing web servers and APIs to analyze request-per-second capacity.

The tool operates as a distributed HTTP load generator capable of aggregating results from multiple machines. It also functions as a HAR file replay tool, allowing users to reproduce specific network traffic patterns by replaying recorded HTTP archive files.

The project covers broad capability areas including HTTP traffic simulation through custom payloads, server response validation to ensure data integrity, and the automation of server startup for integrated testing. It also provides real-time progress tracking for active benchmarks.

## Tags

### Testing & Quality Assurance

- [HTTP Endpoint Benchmarking](https://awesome-repositories.com/f/testing-quality-assurance/http-endpoint-benchmarking.md) — Measures server throughput and latency by simulating high-volume request loads against HTTP endpoints.
- [Performance Measurement](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/performance-measurement.md) — Measures server throughput and latency by simulating concurrent connections and pipelined requests. ([source](https://cdn.jsdelivr.net/gh/mcollina/autocannon@master/README.md))
- [Load Simulation Testing](https://awesome-repositories.com/f/testing-quality-assurance/api-endpoint-testing/simulated-request-testing/load-simulation-testing.md) — Stress tests target URLs by firing high volumes of requests to evaluate stability and performance. ([source](https://cdn.jsdelivr.net/gh/mcollina/autocannon@master/README.md))
- [Concurrent Connection Simulation](https://awesome-repositories.com/f/testing-quality-assurance/concurrent-connection-simulation.md) — Simulates multiple simultaneous network connections to test server saturation and behavior under parallel load.
- [Distributed Load Generation](https://awesome-repositories.com/f/testing-quality-assurance/distributed-load-generation.md) — Coordinates request generation across multiple machines to simulate massive traffic spikes and aggregate results. ([source](https://cdn.jsdelivr.net/gh/mcollina/autocannon@master/README.md))
- [HTTP Load Testing](https://awesome-repositories.com/f/testing-quality-assurance/http-load-testing.md) — Simulates high volumes of concurrent HTTP requests to measure the performance and stability of web servers.
- [Stress Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/javascript-testing-frameworks/stress-testing-frameworks.md) — Simulates high-load and chaotic interactions to identify breaking points and stability issues in web services.
- [HTTP Traffic Simulation](https://awesome-repositories.com/f/testing-quality-assurance/http-traffic-simulation.md) — Mimics real-world user behavior by replaying HAR files or sending custom payloads.

### Data & Databases

- [Parallel Worker Execution](https://awesome-repositories.com/f/data-databases/connection-pools/performance-tuning/client-throughput-tuning/parallel-worker-execution.md) — Scales request generation by utilizing multiple worker threads to distribute load across CPU cores.
- [Distributed Result Aggregators](https://awesome-repositories.com/f/data-databases/distributed-result-aggregators.md) — Combines performance result objects from multiple distributed machines into a single consolidated report. ([source](https://cdn.jsdelivr.net/gh/mcollina/autocannon@master/README.md))

### Networking & Communication

- [Request Payloads](https://awesome-repositories.com/f/networking-communication/http-clients/request-payloads.md) — Allows configuration of custom HTTP methods, headers, and bodies to simulate real-world API traffic. ([source](https://cdn.jsdelivr.net/gh/mcollina/autocannon@master/README.md))
- [Response Integrity Validation](https://awesome-repositories.com/f/networking-communication/network-reliability-diagnostics/network-interception-tools/response-body-modifiers/http-response-body-inspectors/response-body-previews/response-body-processing/response-integrity-validation.md) — Checks the response body of each request using a custom function to ensure data integrity. ([source](https://cdn.jsdelivr.net/gh/mcollina/autocannon@master/README.md))
- [File-Based Replayers](https://awesome-repositories.com/f/networking-communication/network-traffic-replay-tools/file-based-replayers.md) — Replays recorded network requests from HAR archive files to reproduce specific traffic patterns. ([source](https://cdn.jsdelivr.net/gh/mcollina/autocannon@master/README.md))
- [HAR File Replayers](https://awesome-repositories.com/f/networking-communication/network-traffic-replay-tools/har-file-replayers.md) — Allows users to reproduce specific network traffic patterns by replaying recorded HTTP archive files.
- [Buffer-Based Memory Management](https://awesome-repositories.com/f/networking-communication/request-payloads/memory-efficient-payload-buffering/buffer-based-memory-management.md) — Uses raw buffers for request bodies and response headers to minimize memory allocation and garbage collection overhead.
- [HTTP Pipelining](https://awesome-repositories.com/f/networking-communication/request-pipeline-frameworks/http-pipelining.md) — Sends multiple HTTP requests over a single TCP connection without waiting for responses to maximize throughput.

### Programming Languages & Runtimes

- [Parallel Load Generators](https://awesome-repositories.com/f/programming-languages-runtimes/node-js-worker-thread-pools/parallel-load-generators.md) — Utilizes Node.js worker threads to maximize CPU load and request throughput during benchmarks.

### System Administration & Monitoring

- [Event Latency Measurements](https://awesome-repositories.com/f/system-administration-monitoring/event-latency-measurements.md) — Captures high-resolution timestamps for requests and responses to calculate precise percentile latency metrics.

### Web Development

- [API Response Validation](https://awesome-repositories.com/f/web-development/rest-apis/api-response-validation.md) — Provides mechanisms to validate API response bodies and headers against expected criteria during high-volume tests.
