1
0
mirror of https://github.com/stefanocasazza/ULib.git synced 2025-10-05 19:18:01 +08:00
ULib/tests/examples/web_server_rng_multiclient.test
stefanocasazza fd6f965168 sync
2020-06-27 18:56:29 +02:00

92 lines
2.7 KiB
Bash
Executable File

#!/bin/sh
. ../.function
## web_server_rng_multiclient.test -- Test web server with io_uringfeature
start_msg web_server_rng_multiclient
(cd benchmark; rm -f db; creat_link FrameworkBenchmarks/ULib/db db; sync)
(cd ..; rm -f db; creat_link examples/benchmark/db db; sync)
DOC_ROOT=benchmark/docroot
rm -f /tmp/web_server_rng_multiclient.log* \
out/userver_rng.out err/userver_rng.err err/web_server_rng_multiclient.err \
trace.*userver_*.[0-9]* object.*userver_*.[0-9]* stack.*userver_*.[0-9]* mempool.*userver_*.[0-9]* \
$DOC_ROOT/trace.*userver_*.[0-9]* $DOC_ROOT/object.*userver_*.[0-9]* $DOC_ROOT/stack.*userver_*.[0-9]* $DOC_ROOT/mempool.*userver_*.[0-9]*
UTRACE="0 50M 0"
#UTRACE_SIGNAL="0 10M 0"
UTRACE_FOLDER=/tmp
MIMALLOC_VERBOSE=1
MIMALLOC_SHOW_ERRORS=1
#UOBJDUMP="0 10M 100"
#USIMERR="error.sim"
export UTRACE UOBJDUMP USIMERR UTRACE_SIGNAL UMEMUSAGE UTRACE_FOLDER TMPDIR MIMALLOC_VERBOSE MIMALLOC_SHOW_ERRORS
if [ "$TERM" = "msys" ]; then
export TMPDIR="c:/tmp"
fi
cat <<EOF >inp/webserver_rng.cfg
userver {
PORT 8080
RUN_AS_USER apache
DOS_WHITE_LIST 127.0.0.1,10.30.0.0/16
LOG_FILE /tmp/web_server_rng_multiclient.log
LOG_FILE_SZ 1M
LOG_MSG_SIZE -1
#REQ_TIMEOUT 5
#MAX_KEEP_ALIVE 3
PID_FILE /var/run/userver_rng.pid
DOCUMENT_ROOT benchmark/docroot
#PLUGIN "nocat ssi http"
PLUGIN_DIR ../../../../src/ulib/net/server/plugin/.libs
ORM_DRIVER_DIR ../../../../src/ulib/orm/driver/.libs
PREFORK_CHILD 0
}
http {
ALIAS "[ / /index.php ]"
ENABLE_INOTIFY yes
APACHE_LIKE_LOG /var/log/httpd/access_log
CACHE_FILE_MASK inp/http/data/file1|*.flv|*.svgz
}
nocat {
FW_CMD firewall/nodog.fw
DECRYPT_KEY puppamelo
CHECK_TYPE 4
CHECK_EXPIRE_INTERVAL 360
FW_ENV "ExternalDevice=eth0 MasqueradeDevice=eth0 MasqueradeAuthServiceIP=0 'AuthServiceAddr=http://test' LocalNetwork=192.168.119.0/24 InternalDevice=eth0:1"
LOCAL_NETWORK_LABEL ap
}
EOF
DIR_CMD="../../examples/userver"
compile_usp
#STRACE=$TRUSS
#STRACE=$LTRUSS
#VALGRIND='valgrind --leak-check=yes --track-origins=yes'
start_prg_background userver_rng -c inp/webserver_rng.cfg
wait_server_ready localhost 8080
echo "PID = `cat /var/run/userver_rng.pid`"
#ab -k -n 2 -c 2 "http://$ADDRESS:8080/servlet/benchmarking?name=stefano" >/dev/null 2>&1
ab -k -n 100 -c 2 'http://127.0.0.1:8080/servlet/benchmarking?name=stefano' >/tmp/ab.out 2>&1
#ab -k -n 100000 -c 1000 'http://127.0.0.1:8080/servlet/benchmarking?name=stefano' >/tmp/ab.txt 2>&1
$SLEEP
$SLEEP
#kill_server userver_rng
exit 0
mv err/userver_rng.err err/web_server_rng_multiclient.err
cat /tmp/web_server_rng_multiclient.log > out/web_server_rng_multiclient.out
# Test against expected output
test_output_wc l web_server_rng_multiclient