Changes
Page history
update status of alternatives
authored
Mar 17, 2021
by
anarcat
Hide whitespace changes
Inline
Side-by-side
howto/benchmark.md
View page @
c509a4e6
...
@@ -107,6 +107,15 @@ actually *more* than 1000Mbit/s (1158.32Mbit/s). Sometimes the above
...
@@ -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
benchmark even gives 152MB/s (1222Mbit/s), way beyond what a regular
GigE link should be able to provide.
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
## Other tools
Siege has trouble going above ~100 concurrent clients because of its
Siege has trouble going above ~100 concurrent clients because of its
...
@@ -116,20 +125,19 @@ limited, here's a set of interesting alternatives:
...
@@ -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
*
[
ali
](
https://github.com/nakabonne/ali
)
- golang, HTTP/2, real-time graph, duration, not in
Debian, mouse support, unsearchable name
Debian, mouse support, unsearchable name
*
[
bombardier
](
https://github.com/codesenberg/bombardier
)
- golang, HTTP/2, better performance than siege in
*
[
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,
*
[
boom
](
https://github.com/tarekziade/boom
)
- python rewrite of apachebench, supports duration,
HTTP/2, not in
d
ebian, unsearchable name
HTTP/2, not in
D
ebian, unsearchable name
*
[
go-wrk
](
https://github.com/adjust/go-wrk/
)
- golang rewrite of wrk with HTTPS, had performance
*
[
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
issues in my first tests (2017),
[
no duration target
](
https://github.com/adjust/go-wrk/issues/2
)
, not in
Debian
Debian
*
[
hey
](
https://github.com/rakyll/hey
)
- golang rewrite of apachebench, similar to boom, not in
*
[
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
debian (
[
ITP #943596
](
https://bugs.debian.org/943596
)
), unsearchable name
*
[
Jmeter
](
https://jmeter.apache.org/
)
- interactive behavior, can replay recorded sessions
*
[
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
*
[
k6.io
](
https://k6.io/
)
- commandline JMeter replacement with accompanied
"cloud" Software-as-a-service
"cloud" Software-as-a-service
*
[
Locust
](
https://locust.io/
)
- distributed, can model login and interactive
*
[
Locust
](
https://locust.io/
)
- distributed, can model login and interactive
behavior, not in Debian
behavior, not in Debian (
[
ITP
](
http://bugs.debian.org/982508
)
)
*
[
Tsung
](
http://tsung.erlang-projects.org/1/01/about/
)
- multi-protocol, distributed, erlang
*
[
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, no HTTPS, only in
*
[
wrk
](
https://github.com/wg/wrk/
)
- multithreaded, epoll, Lua scriptable, in Debian
Debian unstable