From: Waldemar Kozaczuk <jwkozac...@gmail.com>
Committer: Waldemar Kozaczuk <jwkozac...@gmail.com>
Branch: master

redis and keydb: added YCSB tests

Signed-off-by: Waldemar Kozaczuk <jwkozac...@gmail.com>

---
diff --git a/keydb/test.sh b/keydb/test.sh
--- a/keydb/test.sh
+++ b/keydb/test.sh
@@ -2,10 +2,18 @@
 
 THIS_DIR=$(readlink -f $(dirname $0))
 CMDLINE=$($THIS_DIR/../cmdline.sh $THIS_DIR)
+TEST_TYPE=${1:-'benchmark'}
+
+case $TEST_TYPE in
+       benchmark)
+               TESTER=tester.py;;
+       ycsb)
+               TESTER=tester_with_ycsb.py;;
+esac
 
 $THIS_DIR/../../scripts/tests/test_app_with_test_script.py \
   -e "$CMDLINE" \
   --guest_port 6379 \
   --host_port 6379 \
   --start_line 'Not listening to IPv6' \
-  --script_path $THIS_DIR/tester.py
+  --script_path $THIS_DIR/$TESTER
diff --git a/keydb/tester.py b/keydb/tester.py
--- a/keydb/tester.py
+++ b/keydb/tester.py
@@ -1,11 +1,14 @@
 import sys
+import os
 import subprocess
 
 success = False
 
 print("Started keydb test ...")
 try:
-   output = subprocess.check_output(["redis-benchmark", "-t", "set,lpush", 
"-n", "100000", "-q"], stderr=subprocess.STDOUT).decode()
+   server_host = os.getenv('OSV_HOSTNAME')
+   output = subprocess.check_output(["redis-benchmark", "-h", server_host, 
"-t", "set,lpush", "-n", "100000", "-q"],
+       stderr=subprocess.STDOUT).decode()
    print(output)
 
    if 'requests per second' in output:
diff --git a/keydb/tester_with_ycsb.py b/keydb/tester_with_ycsb.py
--- a/keydb/tester_with_ycsb.py
+++ b/keydb/tester_with_ycsb.py
@@ -0,0 +1,30 @@
+import sys
+import os
+import subprocess
+
+success = False
+
+print("Started YCSB redis test ...")
+
+curr_dir = os.getcwd()
+server_host = os.getenv('OSV_HOSTNAME')
+ycsb_home = os.getenv('YCSB_HOME') #Home of the cloned 
http://github.com/brianfrankcooper/YCSB.git
+
+if not ycsb_home or not os.path.exists(ycsb_home):
+   print("Please set YCSB_HOME env variable that points to the directory of 
the http://github.com/brianfrankcooper/YCSB.git project")
+else:
+   try:
+      os.chdir(ycsb_home)
+      output = subprocess.check_output(['./bin/ycsb', 'load', 'redis', '-s', 
'-P', 'workloads/workloada',
+                                        '-p', 'redis.host=%s' % server_host, 
'-p', 'redis.port=6379'], stderr=subprocess.STDOUT).decode()
+      print(output)
+      output = subprocess.check_output(['./bin/ycsb', 'run', 'redis', '-s', 
'-P', 'workloads/workloada',
+                                        '-p', 'redis.host=%s' % server_host, 
'-p', 'redis.port=6379'], stderr=subprocess.STDOUT).decode()
+      print(output)
+
+      if '[UPDATE], Return=OK' in output:
+         success = True
+   except subprocess.CalledProcessError as err:
+      print(err.output)
+   finally:
+      os.chdir(curr_dir)
diff --git a/redis-memonly/.gitignore b/redis-memonly/.gitignore
--- a/redis-memonly/.gitignore
+++ b/redis-memonly/.gitignore
@@ -0,0 +1,2 @@
+redis-server
+usr.manifest
diff --git a/redis-memonly/test.sh b/redis-memonly/test.sh
--- a/redis-memonly/test.sh
+++ b/redis-memonly/test.sh
@@ -2,10 +2,18 @@
 
 THIS_DIR=$(readlink -f $(dirname $0))
 CMDLINE=$($THIS_DIR/../cmdline.sh $THIS_DIR)
+TEST_TYPE=${1:-'benchmark'}
+
+case $TEST_TYPE in
+       benchmark)
+               TESTER=tester.py;;
+       ycsb)
+               TESTER=tester_with_ycsb.py;;
+esac
 
 $THIS_DIR/../../scripts/tests/test_app_with_test_script.py \
   -e "$CMDLINE" \
   --guest_port 6379 \
   --host_port 6379 \
   --start_line 'The server is now ready' \
-  --script_path $THIS_DIR/tester.py
+  --script_path $THIS_DIR/$TESTER
diff --git a/redis-memonly/tester.py b/redis-memonly/tester.py
--- a/redis-memonly/tester.py
+++ b/redis-memonly/tester.py
@@ -7,7 +7,8 @@
 print("Started redis test ...")
 try:
    server_host = os.getenv('OSV_HOSTNAME')
-   output = subprocess.check_output(["redis-benchmark", "-h", server_host, 
"-t", "set,lpush", "-n", "100000", "-q"], stderr=subprocess.STDOUT).decode()
+   output = subprocess.check_output(["redis-benchmark", "-h", server_host, 
"-t", "set,lpush", "-n", "100000", "-q"],
+       stderr=subprocess.STDOUT).decode()
    print(output)
 
    if 'requests per second' in output:
diff --git a/redis-memonly/tester_with_ycsb.py 
b/redis-memonly/tester_with_ycsb.py
--- a/redis-memonly/tester_with_ycsb.py
+++ b/redis-memonly/tester_with_ycsb.py
@@ -0,0 +1,30 @@
+import sys
+import os
+import subprocess
+
+success = False
+
+print("Started YCSB redis test ...")
+
+curr_dir = os.getcwd()
+server_host = os.getenv('OSV_HOSTNAME')
+ycsb_home = os.getenv('YCSB_HOME') #Home of the cloned 
http://github.com/brianfrankcooper/YCSB.git
+
+if not ycsb_home or not os.path.exists(ycsb_home):
+   print("Please set YCSB_HOME env variable that points to the directory of 
the http://github.com/brianfrankcooper/YCSB.git project")
+else:
+   try:
+      os.chdir(ycsb_home)
+      output = subprocess.check_output(['./bin/ycsb', 'load', 'redis', '-s', 
'-P', 'workloads/workloada',
+                                        '-p', 'redis.host=%s' % server_host, 
'-p', 'redis.port=6379'], stderr=subprocess.STDOUT).decode()
+      print(output)
+      output = subprocess.check_output(['./bin/ycsb', 'run', 'redis', '-s', 
'-P', 'workloads/workloada',
+                                        '-p', 'redis.host=%s' % server_host, 
'-p', 'redis.port=6379'], stderr=subprocess.STDOUT).decode()
+      print(output)
+
+      if '[UPDATE], Return=OK' in output:
+         success = True
+   except subprocess.CalledProcessError as err:
+      print(err.output)
+   finally:
+      os.chdir(curr_dir)

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osv-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osv-dev/000000000000b1d8ba05a3b1e79a%40google.com.

Reply via email to