chore: benchmarks and readme update
This commit is contained in:
parent
fda3920a3f
commit
7092dc6a70
9 changed files with 115 additions and 18 deletions
28
benchmark/run.sh
Executable file
28
benchmark/run.sh
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -m
|
||||
|
||||
install_gunicorn() {
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install gunicorn
|
||||
}
|
||||
|
||||
declare -a reqs=('node' 'python3' 'go')
|
||||
declare -A run_cmds=([8082]='go run test.go' [8083]='node test.js' [8084]='gunicorn -w 8 test:app -b localhost:8084' [8000]='python3 -m http.server' [8081]='bash ./test.sh run')
|
||||
|
||||
for package in "${reqs[@]}"; do
|
||||
command -v "${package}" >/dev/null || { echo "Error! ${package} is not installed on this system."; exit 1; }
|
||||
done
|
||||
|
||||
command -v bombardier >/dev/null || go install github.com/codesenberg/bombardier@latest
|
||||
command -v gunicorn >/dev/null || install_gunicorn >/dev/null
|
||||
|
||||
for port in "${!run_cmds[@]}"; do
|
||||
echo "Running: ${run_cmds[$port]}"
|
||||
${run_cmds[$port]} >/dev/null 2>&1 & pid="$!"
|
||||
sleep 0.5
|
||||
bombardier -d 30s http://127.0.0.1:"$port"
|
||||
kill -TERM -- -"$pid"
|
||||
done
|
Loading…
Add table
Add a link
Reference in a new issue