Set up synthetic write benchmark.
[bluesky.git] / microbench / run-synwrite.sh
diff --git a/microbench/run-synwrite.sh b/microbench/run-synwrite.sh
new file mode 100755 (executable)
index 0000000..1ca5f72
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+BASEDIR=$(dirname $(which $0))
+. $BASEDIR/run-common.sh
+
+BLUESKY_TARGET=s3:mvrable-readbench-west
+BLUESKY_EXTRA_OPTS="BLUESKY_OPT_NO_CRYPTO=1"
+
+rates="1 2 4 8 16 32 48 100000"
+
+run_synbench() {
+    basename=$(date +%Y%m%d)-$1
+    BLUESKY_RUN_NAME=$basename
+
+    run_cmd $PROXY cleanup-proxy
+    run_cmd $PROXY run-proxy >$BLUESKY_RUN_NAME.proxy 2>&1 &
+    proxy_pid=$!
+    sleep 10
+
+    for SYNWRITE_RATE in $rates; do
+        run_cmd $BENCHER run-synwrite
+        sleep 60
+    done
+
+    run_cmd $PROXY stop-proxy
+    echo "Waiting for proxy to stop..."
+    wait $proxy_pid
+}
+
+for BLUESKY_CACHE_SIZE in $((512 * 1024)); do
+    run_synbench "write-$(($BLUESKY_CACHE_SIZE / 1024))M"
+done