[benchmarks] Add support for HAProxy comparison and hey
benchmarker.
This commit is contained in:
parent
c8ecd98e8b
commit
d7137cb56a
4 changed files with 120 additions and 1 deletions
23
examples/haproxy.conf
Normal file
23
examples/haproxy.conf
Normal file
|
@ -0,0 +1,23 @@
|
|||
|
||||
|
||||
global
|
||||
nbthread 2
|
||||
|
||||
|
||||
defaults
|
||||
timeout client 6s
|
||||
timeout server 6s
|
||||
timeout connect 6s
|
||||
timeout tarpit 1s
|
||||
|
||||
|
||||
frontend http
|
||||
mode http
|
||||
bind ipv4@127.9.185.194:8080
|
||||
|
||||
# NOTE: Equivalent to `kawipiko`'s `--dummy-empty`
|
||||
# http-request return
|
||||
|
||||
# NOTE: Equivalent to `kawipiko`'s `--dummy`
|
||||
http-request return status 200 content-type "text/plain; charset=utf-8" string "hello world!\n" hdr "Content-Encoding" "identity" hdr "Cache-Control" "no-store, max-age=0"
|
||||
|
|
@ -20,7 +20,7 @@ http {
|
|||
server {
|
||||
|
||||
|
||||
listen 127.0.0.1:8080 default_server bind backlog=65536;
|
||||
listen 127.9.185.194:8080 default_server bind backlog=65536;
|
||||
|
||||
server_name nginx;
|
||||
server_name_in_redirect off;
|
||||
|
|
|
@ -126,6 +126,22 @@
|
|||
:: benchmark / h2load / http3 / 1 :: exec -- "${ZRUN[@]}" ':: benchmark / h2load / http3' "${@}" --threads 1 --clients 1
|
||||
|
||||
|
||||
:: benchmark / hey / http / 16384 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 16384 -t 6s
|
||||
:: benchmark / hey / http / 4096 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 4096
|
||||
:: benchmark / hey / http / 2048 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 2048
|
||||
:: benchmark / hey / http / 1024 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 1024
|
||||
:: benchmark / hey / http / 512 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 512
|
||||
:: benchmark / hey / http / 256 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 256
|
||||
:: benchmark / hey / http / 128 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 128
|
||||
:: benchmark / hey / http / 64 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 64
|
||||
:: benchmark / hey / http / 32 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 32
|
||||
:: benchmark / hey / http / 16 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 2 -c 16
|
||||
:: benchmark / hey / http / 8 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 1 -c 8
|
||||
:: benchmark / hey / http / 4 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 1 -c 4
|
||||
:: benchmark / hey / http / 2 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 1 -c 2
|
||||
:: benchmark / hey / http / 1 :: exec -- "${ZRUN[@]}" ':: benchmark / hey / http' "${@}" -cpus 1 -c 1
|
||||
|
||||
|
||||
|
||||
|
||||
--<< benchmark / server
|
||||
|
@ -315,6 +331,26 @@
|
|||
|
||||
|
||||
|
||||
<< benchmark / alternatives / haproxy
|
||||
exec -- \
|
||||
sudo -u root -n -E -P -- \
|
||||
taskset -c 0,1 \
|
||||
nice -n -19 -- \
|
||||
ionice -c 2 -n 0 -- \
|
||||
chrt -r 10 \
|
||||
prlimit -n262144 -- \
|
||||
sudo -u "${USER}" -n -E -P -- \
|
||||
env -i -- \
|
||||
./.bin/haproxy \
|
||||
-db \
|
||||
-f ./examples/haproxy.conf \
|
||||
"${@}" \
|
||||
#
|
||||
!!
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -437,3 +473,44 @@
|
|||
#
|
||||
!!
|
||||
|
||||
|
||||
|
||||
|
||||
<< benchmark / hey / http
|
||||
exec -- "${ZRUN[@]}" ':: benchmark / hey' http 127.9.185.194:8080 "${@}"
|
||||
!!
|
||||
|
||||
<< benchmark / hey / https
|
||||
exec -- "${ZRUN[@]}" ':: benchmark / hey' https 127.9.185.194:8443 "${@}"
|
||||
!!
|
||||
|
||||
--<< benchmark / hey
|
||||
test "${#}" -ge 2
|
||||
_url_base="${1}://${2}"
|
||||
shift -- 2
|
||||
if test "${#}" -ge 1 ; then
|
||||
if test "${1:0:1}" != '-' ; then
|
||||
_path="${1}"
|
||||
_path="${_path#/}"
|
||||
shift -- 1
|
||||
else
|
||||
_path=''
|
||||
fi
|
||||
else
|
||||
_path=''
|
||||
fi
|
||||
exec -- \
|
||||
sudo -u root -n -E -P -- \
|
||||
taskset -c 2,3 \
|
||||
nice -n -19 -- \
|
||||
ionice -c 2 -n 0 -- \
|
||||
chrt -r 10 \
|
||||
prlimit -n262144 -- \
|
||||
sudo -u "${USER}" -n -E -P -- \
|
||||
"${ZRUN[@]}" ':: tools / hey' \
|
||||
"${@}" \
|
||||
-- \
|
||||
"${_url_base}/${_path}" \
|
||||
#
|
||||
!!
|
||||
|
||||
|
|
|
@ -44,6 +44,25 @@
|
|||
|
||||
|
||||
|
||||
<< tools / hey
|
||||
test -f ./.bin/hey
|
||||
test -x ./.bin/hey
|
||||
test "${#}" -ge 1
|
||||
exec -- \
|
||||
env -i -- \
|
||||
./.bin/nodaemon \
|
||||
./.bin/hey \
|
||||
-cpus 1 \
|
||||
-c 1 \
|
||||
-z 30s \
|
||||
-t 1 \
|
||||
"${@}" \
|
||||
#
|
||||
!!
|
||||
|
||||
|
||||
|
||||
|
||||
<< tools / nghttp
|
||||
test -f ./.bin/nghttp
|
||||
test -x ./.bin/nghttp
|
||||
|
|
Loading…
Reference in a new issue