45 lines
1.4 KiB
Bash
45 lines
1.4 KiB
Bash
|
#/usr/bin/env bash
|
||
|
|
||
|
# This is intended to be run with SSH agent forwarding,
|
||
|
# so we can log in as root to adjust artificial delay.
|
||
|
|
||
|
set -eu
|
||
|
|
||
|
which taler-exchange-benchmark
|
||
|
|
||
|
# check that we can log in at least!
|
||
|
ssh root@gv.taler.net true
|
||
|
ssh root@firefly.gnunet.org true
|
||
|
|
||
|
ssh root@gv.taler.net tc qdisc delete dev enp4s0f0 root || true
|
||
|
ssh root@firefly.gnunet.org tc qdisc delete dev eno2 root || true
|
||
|
|
||
|
ssh root@gv.taler.net "echo 3 > /proc/sys/net/ipv4/tcp_fastopen"
|
||
|
ssh root@firefly.gnunet.org "echo 3 > /proc/sys/net/ipv4/tcp_fastopen"
|
||
|
|
||
|
# warm up TCP fast open cookies
|
||
|
taler-exchange-benchmark -c benchmark-remote-gv.conf -m client -p 1 -n 5 >> benchmark-latency.log 2>&1
|
||
|
|
||
|
export GNUNET_BENCHMARK_DIR=$(readlink -f ./stats)
|
||
|
|
||
|
for x in 0 50 100 150 200; do
|
||
|
echo running with one-sided delay of $x
|
||
|
result_dir="results/latency-$x"
|
||
|
if [[ -d "$result_dir" ]]; then
|
||
|
echo "skipping because results exist"
|
||
|
continue
|
||
|
fi
|
||
|
|
||
|
ssh root@gv.taler.net tc qdisc add dev enp4s0f0 root netem delay "${x}ms"
|
||
|
ssh root@firefly.gnunet.org tc qdisc add dev eno2 root netem delay "${x}ms"
|
||
|
|
||
|
rm -rf stats
|
||
|
taler-exchange-benchmark -c benchmark-remote-gv.conf -m client -p 1 -n 200 >> benchmark-latency.log 2>&1
|
||
|
echo "### Finished latency run for ${x}ms" >> benchmark-latency.log
|
||
|
mkdir -p "$result_dir"
|
||
|
cp -a stats "$result_dir/"
|
||
|
|
||
|
ssh root@gv.taler.net tc qdisc delete dev enp4s0f0 root
|
||
|
ssh root@firefly.gnunet.org tc qdisc delete dev eno2 root
|
||
|
done
|