]> andersk Git - test.git/blame - stresstest.sh
Use 2048-bit RSA keys for auto-generated certificates.
[test.git] / stresstest.sh
CommitLineData
d5324103
MG
1#!/bin/bash -e
2
3PORT=4201
4PIDFILE=stresstest.pid
5
6rm -f "${PIDFILE}"
7trap '[ -r "${PIDFILE}" ] && kill "$(cat "${PIDFILE}")"; rm -f "${PIDFILE}"' \
8 EXIT INT TERM QUIT HUP
9
10./shellinaboxd -p "${PORT}" -s "/:$(id -u):$(id -g):${PWD}:/bin/bash -c \
11 'while read i; do [ -z "${i}" ] && break; echo \" $i\"; done'" \
12 --background="${PIDFILE}"
13
14session() {
15 local data="$(wget -O- --post-data='' --quiet "http://localhost:${PORT}/")"
16 local session="${data##*\"session\":\"}"
17 session="${session%%\"*}"
18 while read -r i; do
19 local keys="$(echo -n "${i}" | od -tx1 -An -w1000)"
20 wget -O/dev/null --post-data="session=${session}&keys=${keys// /}" \
21 --quiet "http://localhost:${PORT}/"
22 kill -0 "$(cat "${PIDFILE}")" || break
23 [ -z "$i" ] && break
24 data="$(wget -O- --post-data="session=${session}" \
25 --quiet "http://localhost:${PORT}/")"
26 data=${data##*\"data\":\"}
27 data=${data%%\"*}
28 echo "${data}"
29 done <<'EOF'
30Hello world
31This is a test
32OK, that's it for now
33
34EOF
35}
36
37pids=""
38for i in `seq 100`; do
39 session &
40 pids="${pids} $!"
41 sleep 0.02
42 kill -0 "$(cat "${PIDFILE}")" || break
43done
44wait $pids >&/dev/null
This page took 0.07519 seconds and 5 git commands to generate.