From c509a4e6339514b73d991d8a9d1df68cddcfba59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@debian.org> Date: Wed, 17 Mar 2021 15:25:47 -0400 Subject: [PATCH] update status of alternatives --- howto/benchmark.md | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/howto/benchmark.md b/howto/benchmark.md index 4fea3a8e0..62433d9c0 100644 --- a/howto/benchmark.md +++ b/howto/benchmark.md @@ -107,6 +107,15 @@ actually *more* than 1000Mbit/s (1158.32Mbit/s). Sometimes the above benchmark even gives 152MB/s (1222Mbit/s), way beyond what a regular GigE link should be able to provide. +## wrk + +Note that wrk works similarly to `bombardier`, sampled above, and has +the advantage of being already packaged in Debian. Simple cheat sheet: + + sudo apt install wrk + echo "10.0.0.0 target.example.com" >> /etc/hosts + wrk --latency -c 100 --duration 2m https://target.example.com/ + ## Other tools Siege has trouble going above ~100 concurrent clients because of its @@ -116,20 +125,19 @@ limited, here's a set of interesting alternatives: * [ali](https://github.com/nakabonne/ali) - golang, HTTP/2, real-time graph, duration, not in Debian, mouse support, unsearchable name * [bombardier](https://github.com/codesenberg/bombardier) - golang, HTTP/2, better performance than siege in - my (2017) tests, not in debian + my (2017) tests, not in Debian ([RFP](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943733)) * [boom](https://github.com/tarekziade/boom) - python rewrite of apachebench, supports duration, - HTTP/2, not in debian, unsearchable name + HTTP/2, not in Debian, unsearchable name * [go-wrk](https://github.com/adjust/go-wrk/) - golang rewrite of wrk with HTTPS, had performance issues in my first tests (2017), [no duration target](https://github.com/adjust/go-wrk/issues/2), not in Debian * [hey](https://github.com/rakyll/hey) - golang rewrite of apachebench, similar to boom, not in debian ([ITP #943596](https://bugs.debian.org/943596)), unsearchable name * [Jmeter](https://jmeter.apache.org/) - interactive behavior, can replay recorded sessions - from browsers + from browsers, in Debian * [k6.io](https://k6.io/) - commandline JMeter replacement with accompanied "cloud" Software-as-a-service * [Locust](https://locust.io/) - distributed, can model login and interactive - behavior, not in Debian - * [Tsung](http://tsung.erlang-projects.org/1/01/about/) - multi-protocol, distributed, erlang - * [wrk](https://github.com/wg/wrk/) - multithreaded, epoll, Lua scriptable, no HTTPS, only in - Debian unstable + behavior, not in Debian ([ITP](http://bugs.debian.org/982508)) + * [Tsung](http://tsung.erlang-projects.org/1/01/about/) - multi-protocol, distributed, erlang, in Debian + * [wrk](https://github.com/wg/wrk/) - multithreaded, epoll, Lua scriptable, in Debian -- GitLab