An HTTP/1.1 benchmarking tool written in node, greatly inspired by wrk and wrk2, with support for HTTP pipelining and HTTPS.
wrk when benchmarking Node.js applications using the
http module. Nevertheless, it uses significantly more CPU than other tools that compiles to a binary such as
wrk. Autocannon can saturate the CPU, e.g. the autocannon process reaches 100%: in those cases, we recommend using
As an example, let's consider a run with 1000 connections on a server with 4 cores with hyperthreading:
wrkuses 2 threads (by default) and an auxiliary one to collect the metrics with a total load of the CPU of 20% + 20% + 40%.
autocannonuses a single thread at 80% CPU load.
Both saturates a Node.js process at around 41k req/sec, however,
autocannon can saturate sooner because it is single-threaded.
wrk does not support HTTP/1.1 pipelining. As a result,
autocannon can create more load on the server than wrk for each open connection.