From e31a8db5402ec611745c57a3d240ec5d6c8ea8ea Mon Sep 17 00:00:00 2001
From: Peter Cai <peter.cai@uwaterloo.ca>
Date: Fri, 17 Feb 2023 13:43:16 -0500
Subject: [PATCH] Re-introduce re-initialization of memcached every few runs

---
 experiments/memcached.shared.sh | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/experiments/memcached.shared.sh b/experiments/memcached.shared.sh
index e6cd0e5..592661b 100644
--- a/experiments/memcached.shared.sh
+++ b/experiments/memcached.shared.sh
@@ -2,6 +2,8 @@ source "$EXP_ROOT/experiments/perf.shared.sh"
 
 CONNS=160 # per agent thread
 
+NO_RUNS=0
+
 load_config() {
     source "$EXP_ROOT/configs/memcached.sh"
     source "$EXP_ROOT/configs/mutilate.sh"
@@ -38,10 +40,17 @@ warmup() {
 }
 
 run_mutilate() {
+    if [ "$NO_RUNS" -ge 4 ]; then
+        echo "Re-intializing Memcached server"
+        memcached_shutdown
+        memcached_startup
+        NO_RUNS=0
+    fi
     echo "Running mutilate with $CONNS connections per agent (core) and QPS = $QPS"
     perf_stat_start "$1"
     sudo -u $SSH_USER $MUTILATE --noload -c$CONNS $MUTCLIENTS -t30 -u 0 -q $QPS | tee $DATA_OUT/$1.txt
     perf_stat_stop
+    NO_RUNS=$((NO_RUNS + 1))
 }
 
 memcached_pre_start() {
@@ -59,13 +68,22 @@ memcached_pre_start() {
 }
 
 memcached_init() {
+    NO_RUNS=0
+    memcached_startup
+}
+
+memcached_startup() {
     start_memcached
     start_mutilate
     warmup
 }
 
-memcached_deinit() {
+memcached_shutdown() {
     cleanup_mutilate
     cleanup_memcached
 }
 
+memcached_deinit() {
+    memcached_shutdown
+}
+
-- 
GitLab