A load testing tool aimed to perform real-time analysis, inspired by vegeta and jplot.
ali
comes with a terminal-based UI where you can plot the metrics in real-time, so lets you perform real-time analysis on the terminal.
Binaries are available through the releases page.
Via Homebrew
brew install nakabonne/ali/ali
Via APT
wget https://github.com/nakabonne/ali/releases/download/v0.3.2/ali_0.3.2_linux_amd64.deb
apt install ./ali_0.3.2_linux_amd64.deb
Via RPM
curl -OL https://github.com/nakabonne/ali/releases/download/v0.3.2/ali_0.3.2_linux_amd64.rpm
rpm -i ./ali_0.3.2_linux_amd64.rpm
Via AUR
Thanks to orhun, it's available as ali in the Arch User Repository.
yay -S ali
Via Go
go get github.com/nakabonne/ali
Via Docker
docker run --rm -it nakabonne/ali ali
ali http://host.xz
Replace http://host.xz
with the target you want to issue the requests to.
Press Enter when the UI appears, then the attack will be launched with default options.
ali -h
Usage:
ali [flags] <target URL>
Flags:
-b, --body string A request body to be sent.
-B, --body-file string The path to file whose content will be set as the http request body.
--debug Run in debug mode.
-d, --duration duration The amount of time to issue requests to the targets. Give 0s for an infinite attack. (default 10s)
-H, --header strings A request header to be sent. Can be used multiple times to send multiple headers.
-k, --keepalive Use persistent connections. (default true)
-M, --max-body int Max bytes to capture from response bodies. Give -1 for no limit. (default -1)
-m, --method string An HTTP request method for each request. (default "GET")
-r, --rate int The request rate per second to issue against the targets. Give 0 then it will send requests as fast as possible. (default 50)
-t, --timeout duration The timeout for each request. 0s means to disable timeouts. (default 30s)
-v, --version Print the current version.
Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
Currently it only plots latencies, but in the near future more metrics will be drawn as well.
This will help you during long tests.
With the help of mum4k/termdash, it's intuitive to operate.