diff --git a/contrib/pixelvnc.sh b/contrib/pixelvnc.sh new file mode 100755 index 0000000..7b0065e --- /dev/null +++ b/contrib/pixelvnc.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# run vnc viewer in fullscreen on the selected monitor. +# restarts it on connectivity issues, press ctrl-c TWICE to quit. +# +# usage: pixelvnc.sh [[:] [monitor-index]] +# depends on: tigervnc + +host=${1:=vnc.schenklklopfer.de} +screen=${2:=1} + +while :; do + vncviewer ReconnectOnError=0 ViewOnly=1 FullScreen=1 FullScreenMode=Selected FullScreenSelectedMonitors=$screen $host + sleep 1 # give room to ^C out of the loop +done + diff --git a/contrib/setup_bbr.sh b/contrib/setup_bbr.sh new file mode 100755 index 0000000..7ea2f6a --- /dev/null +++ b/contrib/setup_bbr.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# sets up BBR congestion control (https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=0f8782ea14974ce992618b55f0c041ef43ed0b78) +# for the given interface + +DEV=${$1:=eth0} +MODE=${$2:="temporary"} + +echo pre-run state: +echo `sysctl net.ipv4.tcp_congestion_control` +echo qdisc on $DEV: `tc qdisc show dev $DEV` + +# set required "fair queueing" queuing discipline (man tc-fq) +echo "qdisc on $DEV was: `tc qdisc show dev $DEV`" +tc qdisc replace dev $DEV root fq +echo "qdisc on $DEV now is: `tc qdisc show dev $DEV`" + +# (permanently) configure BBR +if [[ mode == "temporary" ]]; then + echo -e 'net.core.default_qdisc=fq + net.ipv4.tcp_congestion_control=bbr' | sysctl -p- +elif [[ mode == "permanent"]]; then + echo -e 'net.core.default_qdisc=fq + net.ipv4.tcp_congestion_control=bbr' >> /etc/sysctl.d/20-net-bbr.conf + sysctl -p /etc/sysctl.d/20-net-bbr.conf + algo=`sysctl net.ipv4.tcp_congestion_control` + if [[ "$algo" != 'net.ipv4.tcp_congestion_control = bbr' ]]; then + echo "couldn't apply changes at runtime, you should reboot." + fi +else + echo "unknown mode, congestion control algo unchanged" +fi diff --git a/rpc/test.sh b/rpc/test.sh deleted file mode 100755 index d3b307a..0000000 --- a/rpc/test.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# runs two instances of hochwasser (rpc server & client each) against a fake (iperf) -# pixelflut server for a few seconds, and opens pprof afterwar - -runtime=${1:-"2s"} - -function cleanup { - kill ${pids[@]} > /dev/null 2>&1 -} -trap cleanup EXIT - -wd=$(dirname "$0") -pids=() - -iperf -p 1337 -s > /dev/null 2>&1 & -pids+=($!) - -go run . -image $wd/../benchmarks/black_small.png -rán :1234 & -pids+=($!) -sleep 0.2 - -go run . -image $wd/../benchmarks/white_small.png -hevring :1234 -runtime "$runtime" -cpuprofile hevring.prof -pids+=($!) - -cleanup - -go tool pprof -http :8080 Hochwasser hevring.prof -#go tool pprof -http :8081 Hochwasser ran.prof