// the find
mcollina/autocannon
fast HTTP/1.1 benchmarking tool written in Node.js
autocannon is a Node.js HTTP/1.1 load testing tool from Matteo Collina (Fastify core team), built to benchmark Node.js servers where being in the same runtime removes cross-language measurement noise. It supports pipelining, multi-URL sequences, HAR replay, and exposes a full programmatic API so you can wire benchmarks into CI or custom tooling.
The programmatic API is genuinely useful — you can drive benchmarks from test scripts, pipe results into dashboards, or compose multi-step request sequences with per-request hooks. HAR file support means you can capture real browser traffic and replay it, which is a meaningful step up from synthetic benchmarks. The coordinated omission correction (when using rate limiting) shows the author actually understands load testing statistics, not just request counting. Worker thread support was added thoughtfully: connections and amounts are divided across workers, which lets you push more load than a single-threaded event loop allows.
It's CPU-bound and single-threaded by default, and the README admits wrk will saturate a Node server with far less CPU overhead — so if you're benchmarking a non-Node server, you're burning your load generator's budget unnecessarily. HTTP/2 is not supported at all, which is a real gap in 2025 when most production traffic is H2. The worker mode has a sharp footgun: overallRate and maxOverallRequests are applied *per worker*, not total, so doubling workers doubles your rate cap without any warning in the UI. The statistics output is good but you can't easily export to standard formats (Prometheus, InfluxDB) without writing glue code.