How to do Yahoo! Cloud System Benchmark (YCSB) for Oracle DB
Yahoo! Cloud System Benchmark (YCSB) for Oracle DB :-
Sample Reports
Description |
W/T – secs |
Threads# 10 |
Threads# 25 |
Threads# 30 |
Threads# 50 |
Update heavy workload (50%R : 50% W) |
Workload# a |
1777 |
1191 |
1092 |
942 |
Read mostly workload (95% R : 5% W) |
Workload# b |
1724 |
1119 |
1032 |
866 |
Read only (100% reads) |
Workload# c |
1646 |
1105 |
1026 |
749 |
Read latest workload |
Workload# d |
1705 |
1165 |
1038 |
826 |
Read-modify-write |
Workload# f |
2687 |
1721 |
1641 |
1296 |
Short ranges |
Workload# e |
Getting Started :-
————–
Get the Latest “Yahoo! Cloud System Benchmark (YCSB)” from the below link.
https://github.com/brianfrankcooper/YCSB
Also, get Java jdk1.7.0_60 & ojdbc7.jar from the below links.
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
Installation of YCSB & Java :
[Lab root @ hostname /home/guest]# cp /tmp/ycsb-0.1.4.tar.gz /tmp/ jdk-7u60-linux-x64.gz /tmp/ojdbc7.jar /home/guest/
[Lab root @ hostname /home/guest]
[Lab root @ hostname /home/guest]# ll -lhtr
-rw-r–r– 1 root root 95M Jun 25 09:43 ycsb-0.1.4.tar.gz
-rw-r–r– 1 root root 136M Jun 25 09:43 jdk-7u60-linux-x64.gz
-rw-r–r– 1 root root 3.3M Jun 25 09:43 ojdbc7.jar
[Lab root @ hostname /home/guest]
[Lab root @ hostname /home/guest]# tar -zxvf ycsb-0.1.4.tar.gz
ycsb-0.1.4/CHANGELOG
ycsb-0.1.4/LICENSE.txt
ycsb-0.1.4/NOTICE.txt
ycsb-0.1.4/README
ycsb-0.1.4/bin/
ycsb-0.1.4/bin/ycsb
ycsb-0.1.4/bin/ycsb.sh
ycsb-0.1.4/workloads/
ycsb-0.1.4/workloads/workloada
ycsb-0.1.4/workloads/workloadb
ycsb-0.1.4/workloads/workloadc
ycsb-0.1.4/workloads/workloadd
ycsb-0.1.4/workloads/workloade
ycsb-0.1.4/workloads/workloadf
ycsb-0.1.4/core/lib/core-0.1.4.jar
ycsb-0.1.4/hbase-binding/conf/
ycsb-0.1.4/hbase-binding/conf/hbase-site.xml
ycsb-0.1.4/hbase-binding/lib/hbase-binding-0.1.4.jar
ycsb-0.1.4/cassandra-binding/lib/cassandra-binding-0.1.4.jar
ycsb-0.1.4/gemfire-binding/conf/
ycsb-0.1.4/gemfire-binding/conf/cache.xml
ycsb-0.1.4/gemfire-binding/lib/gemfire-binding-0.1.4.jar
ycsb-0.1.4/infinispan-binding/conf/
ycsb-0.1.4/infinispan-binding/conf/infinispan-config.xml
ycsb-0.1.4/infinispan-binding/lib/infinispan-binding-0.1.4.jar
ycsb-0.1.4/jdbc-binding/conf/
ycsb-0.1.4/jdbc-binding/conf/db.properties
ycsb-0.1.4/jdbc-binding/conf/h2.properties
ycsb-0.1.4/jdbc-binding/lib/jdbc-binding-0.1.4.jar
ycsb-0.1.4/mapkeeper-binding/README
ycsb-0.1.4/mapkeeper-binding/lib/mapkeeper-binding-0.1.4.jar
ycsb-0.1.4/mongodb-binding/lib/mongodb-binding-0.1.4.jar
ycsb-0.1.4/nosqldb-binding/README
ycsb-0.1.4/nosqldb-binding/conf/
ycsb-0.1.4/nosqldb-binding/conf/nosqldb.properties
ycsb-0.1.4/nosqldb-binding/conf/script.txt
ycsb-0.1.4/nosqldb-binding/lib/nosqldb-binding-0.1.4.jar
ycsb-0.1.4/redis-binding/lib/redis-binding-0.1.4.jar
ycsb-0.1.4/voldemort-binding/conf/
ycsb-0.1.4/voldemort-binding/conf/cluster.xml
ycsb-0.1.4/voldemort-binding/conf/server.properties
ycsb-0.1.4/voldemort-binding/conf/stores.xml
ycsb-0.1.4/voldemort-binding/lib/voldemort-binding-0.1.4.jar
[Lab root @ hostname /home/guest]
[Lab root @ hostname /home/guest]# ll -lhtr
total 371M
-rw-r–r– 1 root root 95M Jun 25 09:43 ycsb-0.1.4.tar.gz
-rw-r–r– 1 root root 136M Jun 25 09:43 jdk-7u60-linux-x64.gz
-rw-r–r– 1 root root 3.3M Jun 25 09:43 ojdbc7.jar
drwxr-xr-x 15 root root 4.0K Jun 25 09:44 ycsb-0.1.4
[Lab root @ hostname /home/guest]#
[Lab root @ hostname /home/guest]# mv ojdbc7.jar jdk-7u60-linux-x64.gz ycsb-0.1.4/
[Lab root @ hostname /home/guest]
[Lab root @ hostname /home/guest/ycsb-0.1.4]# tar -zxvf jdk-7u60-linux-x64.gz
[Lab root @ hostname /home/guest/ycsb-0.1.4]
# ll -lhtr
total 140M
-rw-r–r– 1 501 20 479 Feb 18 2012 NOTICE.txt
-rw-r–r– 1 501 20 7.9K Feb 18 2012 LICENSE.txt
drwxrwxrwx 2 501 20 4.0K Feb 22 2012 workloads
-rw-r–r– 1 501 20 2.3K Feb 23 2012 CHANGELOG
drwxrwxrwx 2 501 20 4.0K Feb 24 2012 bin
-rw-r–r– 1 501 20 952 Feb 24 2012 README
drwxr-xr-x 8 uucp 143 4.0K May 7 16:50 jdk1.7.0_60
drwxr-xr-x 3 root root 4.0K Jun 25 09:44 core
drwxr-xr-x 4 root root 4.0K Jun 25 09:44 hbase-binding
drwxr-xr-x 3 root root 4.0K Jun 25 09:44 cassandra-binding
drwxr-xr-x 4 root root 4.0K Jun 25 09:44 gemfire-binding
drwxr-xr-x 4 root root 4.0K Jun 25 09:44 infinispan-binding
drwxr-xr-x 4 root root 4.0K Jun 25 09:44 jdbc-binding
drwxr-xr-x 3 root root 4.0K Jun 25 09:44 mapkeeper-binding
drwxr-xr-x 3 root root 4.0K Jun 25 09:44 mongodb-binding
drwxr-xr-x 4 root root 4.0K Jun 25 09:44 nosqldb-binding
drwxr-xr-x 3 root root 4.0K Jun 25 09:44 redis-binding
drwxr-xr-x 4 root root 4.0K Jun 25 09:44 voldemort-binding
-rw-r–r– 1 root root 3.3M Jun 25 09:46 ojdbc7.jar
-rw-r–r– 1 root root 136M Jun 25 09:46 jdk-7u60-linux-x64.gz
[Lab root @ hostname /home/guest/ycsb-0.1.4]
Copy the OJDBC Jar file to your Oracle Library location : /optware/oracle/11.2.0.4/db_1/jdbc/lib/ojdbc7.jar
Setting-up the Oracle JDBC configuration:
[Lab root @ hostname /home/guest/ycsb-0.1.4] cat jdbc-binding/conf/db.properties
# Properties file that contains database connection information
- driver=oracle.jdbc.OracleDriver
- url=jdbc:oracle:thin:@hostname:1521:TESTAP
- user=system
- passwd=XXXXXXX
[Lab root @ hostname /home/guest/ycsb-0.1.4]
Setting-up the required Enviorment Variables in the .bashrc :-
[Lab root @ hostname /home/guest/ycsb-0.1.4] # cat ~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
export YCSBHOME=/home/guest/ycsb-0.1.4
export ORACLE_HOME=/optware/oracle/11.2.0.4/db_1
export ORACLE_SID=TESTAP
#export LD_LIBRARY_PATH=/optware/oracle/11.2.0.4/db_1/lib
export PATH=/optware/oracle/11.2.0.4/db_1/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:.
export EDITOR=vi
export CLASSPATH=/optware/oracle/11.2.0.4/db_1/jdbc/lib/ojdbc7.jar
export JAVA_HOME=/optware/oracle/11.2.0.4/db_1/jdk1.7.0_60
export PATH=$PATH:$JAVA_HOME/bin
[Lab root @ hostname /home/guest/ycsb-0.1.4]
Create a .sql file as below
[Lab root @ hostname /home/guest/ycsb-0.1.4] # cat inittable.sql
DROP TABLE usertable;
CREATE TABLE usertable (YCSB_KEY NVARCHAR2(255) PRIMARY KEY,
FIELD1 NVARCHAR2(255), FIELD2 NVARCHAR2(255),
FIELD3 NVARCHAR2(255), FIELD4 NVARCHAR2(255),
FIELD5 NVARCHAR2(255), FIELD6 NVARCHAR2(255),
FIELD7 NVARCHAR2(255), FIELD8 NVARCHAR2(255),
FIELD9 NVARCHAR2(255), FIELD10 NVARCHAR2(255));
SET AUTOCOMMIT ON;
EXIT;
[Lab root @ hostname /home/guest/ycsb-0.1.4]
Test the Oracle connectivity before proceeding to YCSB Workloads.
[Lab root @ hostname /optware/oracle/11.2.0.4/db_1]# /optware/oracle/11.2.0.4/db_1/bin/sqlplus system/XXXXXXX@TESTAP
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 30 01:16:38 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Automatic Storage Management option
SQL> CREATE TABLE usertable (YCSB_KEY VARCHAR2(255) PRIMARY KEY, FIELD1 VARCHAR2(50), FIELD2 VARCHAR2(50),FIELD3 VARCHAR2(50), FIELD4 VARCHAR2(50),FIELD5 VARCHAR2(50), FIELD6 VARCHAR2(50),FIELD7 VARCHAR2(50), FIELD8 VARCHAR2(50), FIELD9 VARCHAR2(50), FIELD10 VARCHAR2(50));
SQL> desc USERTABLE;
Name Null? Type
—————————————– ——– —————————-
YCSB_KEY NOT NULL NVARCHAR2(255)
FIELD1 NVARCHAR2(255)
FIELD2 NVARCHAR2(255)
FIELD3 NVARCHAR2(255)
FIELD4 NVARCHAR2(255)
FIELD5 NVARCHAR2(255)
FIELD6 NVARCHAR2(255)
FIELD7 NVARCHAR2(255)
FIELD8 NVARCHAR2(255)
FIELD9 NVARCHAR2(255)
FIELD10 NVARCHAR2(255)
SQL>
SQL>
SQL> SELECT COUNT(1) FROM USERTABLE;
COUNT(1)
———-
0
There’s a minor change required to the below YCSB Java program for the Oracle database.
semicolon (;) for the INSERT/UPDATE statements in JDBCClient.java program cause below errors.
E.g., We need to change the line from insert.append(“);“); to insert.append(“)”); However, this will work fine with MySQL/PostgreSQL .. etc.
Hence, we need to change the code as below and take the latest compiled jar file to fix the problem.
- append(“);“); —— > insert.append(“)”);
Similar way for below statements.
read.append(“?;”);
delete.append(” = ?;”);
update.append(” = ?;”);
select.append(“?;”);
Please find the updated java program (JdbcClient.java) and the jar file.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Automatic Storage Management option
Table dropped.
Table created.
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Automatic Storage Management option
Loading records ——–
Loading workload…
Starting test.
0 sec: 0 operations;
Error in processing insert to table: usertablejava.sql.SQLSyntaxErrorException: ORA-00911: invalid character
Also, note the below highlighted changes (in blue) in the ycsbloop.sh script.
[Lab root @ hostname /home/guest/ycsb-0.1.4]# cat ycsbloop.sh
th=$1 # number of threads
ops=$2 # number of operations
rec=10 # number of records to inserts for a-f. e has 1000 only
tgt=$4 # target ops/s to maintain
host=$5 # hostname where this YCSB is run
tag=$6 # tagname for the run
ORACLE_HOME = /optware/oracle/11.2.0.4/db_1
# sequence of tests is load, A,B,C,F,D delete and reload E
# https://github.com/brianfrankcooper/YCSB/wiki/core-workloads
if [ -z “${YCSBHOME}” ]; then echo “YCSBHOME needs to be defined”; exit 1; fi
if [ ! -f “/home/guest/ycsb-0.1.4/inittable.sql” ]; then echo “${YCSBHOME}/inittable.sql is missing”; exit 1; fi
if [ -z “${host}” ]; then host=`hostname -s`; fi
host=`echo $host | sed ‘s/\-/_/g’`
if [ -z “${tag}” ]; then LOGSUFFIX=`date +”%y%m%d%H%M”`; else LOGSUFFIX=${tag}; fi
AGGHOST=`grep “^db.url=” ${YCSBHOME}/jdbc-binding/conf/db.properties | sed ‘s@^db\.url\=jdbc\:mysql\://\(.*\)/\(.*\)@\1@g’`
if [ `echo ${AGGHOST} | grep “:”` ]; then
AGGPORT=`echo ${AGGHOST} | sed ‘s@\(.*\)\:\(.*\)@\2@g’`
AGGHOST=`echo ${AGGHOST} | sed ‘s@\(.*\)\:\(.*\)@\1@g’`
fi
AGGDB=`grep “^db.url=” ${YCSBHOME}/jdbc-binding/conf/db.properties | sed ‘s@^db\.url\=jdbc\:mysql\://\(.*\)/\(.*\)@\2@g’`
AGGUSER=`grep “^db.user=” ${YCSBHOME}/jdbc-binding/conf/db.properties | sed ‘s/^db\.user\=\(.*\)/\1/g’`
AGGPASS=`grep “^db.passwd=” ${YCSBHOME}/jdbc-binding/conf/db.properties | sed ‘s/^db\.passwd\=\(.*\)/\1/g’`
if [ -z “${AGGPASS}” ]; then
ORACLEPASS=””
else
ORACLEPASS=”–password=${AGGPASS}”
fi
runworkload() {
# $1 = workloads to test
# $2 = data to load for the workloads
w=$2
YCSBPROP=””
if [ -n “${th}” ]; then
YCSBPROP=”${YCSBPROP} -threads ${th}”
fi
if [ -n “${ops}” ]; then
YCSBPROP=”${YCSBPROP} -p operationcount=${ops}”
fi
if [ -n “${tgt}” ]; then
YCSBPROP=”${YCSBPROP} -target ${tgt}”
fi
if [ ${w} != “e” ];then
if [ -n “${rec}” ]; then
YCSBPROP=”${YCSBPROP} -p recordcount=${rec}”
fi
fi
echo “Clearing out table ——–“
# clear out the table
DTSTART=`date +”%y/%m/%d %H:%M:%S”`
#mysql -h ${AGGHOST} -u ${AGGUSER} ${ORACLEPASS} < $YCSBHOME/inittable.sql — MySQL Connectivity String
$ORACLE_HOME/bin/sqlplus ${AGGUSER}/${AGGPASS}@TESTAP @$YCSBHOME/inittable.sql — Oracle Connectivity String
DTEND=`date +”%y/%m/%d %H:%M:%S”`
echo “dbinit,${host},${w},${DTSTART},${DTEND},${LOGSUFFIX},${th},${rec},${ops},${tgt}” >> ycsbtest.log
echo “Loading records ——–“
# load data
DTSTART=`date +”%y/%m/%d %H:%M:%S”`
${YCSBHOME}/bin/ycsb load jdbc -P ${YCSBHOME}/jdbc-binding/conf/db.properties -P ${YCSBHOME}/workloads/workload${w} \
-s ${YCSBPROP} > ycsb-${host}-${w}-load-${th}-${rec}-${ops}-${tgt}-${LOGSUFFIX}.log
DTEND=`date +”%y/%m/%d %H:%M:%S”`
echo “ycsbload,${host},${w},${DTSTART},${DTEND},${LOGSUFFIX},${YCSBLOAD},${th},${rec},${ops},${tgt}” >> ycsbtest.log
for w in ${1};do
echo “Workload ${w} ——–“
# run workload
DTSTART=`date +”%y/%m/%d %H:%M:%S”`
${YCSBHOME}/bin/ycsb run jdbc -P ${YCSBHOME}/jdbc-binding/conf/db.properties -P ${YCSBHOME}/workloads/workload${w} \
-s ${YCSBPROP} > ycsb-${host}-${w}-run-${th}-${rec}-${ops}-${tgt}-${LOGSUFFIX}.log
DTEND=`date +”%y/%m/%d %H:%M:%S”`
echo “ycsbrun,${host},${w},${DTSTART},${DTEND},${LOGSUFFIX},${YCSBRUN},${th},${rec},${ops},${tgt}” >> ycsbtest.log
done
}
runworkload “a b c f d” “a”
runworkload “e” “e”
[Lab root @ hostname /home/guest/ycsb-0.1.4]
That’s it .. you can run your workloads now.
There are 6 steps to running a workload:
- Set up the database system to test
- Choose the appropriate DB interface layer
- Choose the appropriate workload
- Choose the appropriate runtime parameters (number of client threads, target throughput, etc.)
- Load the data
- Execute the workload
Refer the links below for more details
https://github.com/brianfrankcooper/YCSB/wiki/Running-a-Workload
https://github.com/brianfrankcooper/YCSB/wiki/Core-Properties
Below is for estimating the time taken for the 10000000 records with 25 Threads.
[Lab root @ hostname /home/guest/ycsb-0.1.4]# ./ycsbloop.sh 25 10000000
./ycsbloop.sh: line 8: ORACLE_HOME: command not found
Clearing out table ——–
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 30 01:30:21 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Automatic Storage Management option
Table dropped.
Table created.
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Automatic Storage Management option
Loading records ——–
Loading workload…
Starting test.
2014-06-30 01:30:25:378 0 sec: 0 operations;
2014-06-30 01:30:35:379 10 sec: 854 operations; 85.38 current ops/sec; [INSERT AverageLatency(us)=259992.37]
2014-06-30 01:30:45:380 20 sec: 2335 operations; 148.09 current ops/sec; [INSERT AverageLatency(us)=169878.24]
2014-06-30 01:30:55:380 30 sec: 3479 operations; 114.4 current ops/sec; [INSERT AverageLatency(us)=218044.77]
2014-06-30 01:31:05:381 40 sec: 4716 operations; 123.69 current ops/sec; [INSERT AverageLatency(us)=201339.58]
2014-06-30 01:31:15:382 50 sec: 6221 operations; 150.48 current ops/sec; [INSERT AverageLatency(us)=166916.92]
2014-06-30 01:31:25:382 60 sec: 7438 operations; 121.7 current ops/sec; [INSERT AverageLatency(us)=204887.06]
2014-06-30 01:31:35:383 70 sec: 8753 operations; 131.49 current ops/sec; [INSERT AverageLatency(us)=188776.43]
2014-06-30 01:31:45:383 80 sec: 10011 operations; 125.8 current ops/sec; [INSERT AverageLatency(us)=199986.17]
2014-06-30 01:31:55:384 90 sec: 11419 operations; 140.79 current ops/sec; [INSERT AverageLatency(us)=178221.11]
2014-06-30 01:32:05:384 100 sec: 12895 operations; 147.6 current ops/sec; [INSERT AverageLatency(us)=170239.36]
2014-06-30 01:32:15:385 110 sec: 14259 operations; 136.39 current ops/sec; [INSERT AverageLatency(us)=182452.94]
2014-06-30 01:32:25:385 120 sec: 15427 operations; 116.8 current ops/sec; [INSERT AverageLatency(us)=203500.48]
2014-06-30 01:32:35:386 130 sec: 16928 operations; 150.1 current ops/sec; [INSERT AverageLatency(us)=174452.08]
2014-06-30 01:32:45:386 140 sec: 18330 operations; 140.19 current ops/sec; [INSERT AverageLatency(us)=177583.79]
2014-06-30 01:32:55:386 150 sec: 19994 operations; 166.4 current ops/sec; [INSERT AverageLatency(us)=151206.67]
Various workloads with threads 10 for MongoDB
./bin/ycsb load mongodb -s -P workloada -p mongodb.url=hostname:17017 -p mongodb.database=ycsb -p mongodb.writeConcern=journaled -p fieldcount=1 -p fieldlength=1000 -p recordcount=1000000 -p operationcount=1000000 -p readallfields=true -p hotspotdatafraction=1 -p insertorder=ordered -threads 10
./bin/ycsb run mongodb -s -P workloads/workloadb -p mongodb.url=hostname:17017 -p mongodb.database=ycsb -p mongodb.writeConcern=journaled -p fieldcount=1 -p fieldlength=1000 -p recordcount=1000000 -p operationcount=1000000 -p readallfields=true -p hotspotdatafraction=1 -p insertorder=ordered -threads 10
./bin/ycsb run mongodb -s -P workloads/workloadc -p mongodb.url=hostname:17017 -p mongodb.database=ycsb -p mongodb.writeConcern=journaled -p fieldcount=1 -p fieldlength=1000 -p recordcount=1000000 -p operationcount=1000000 -p readallfields=true -p hotspotdatafraction=1 -p insertorder=ordered -threads 10
./bin/ycsb run mongodb -s -P workloads/workloadd -p mongodb.url=hostname:17017 -p mongodb.database=ycsb -p mongodb.writeConcern=journaled -p fieldcount=1 -p fieldlength=1000 -p recordcount=1000000 -p operationcount=1000000 -p readallfields=true -p hotspotdatafraction=1 -p insertorder=ordered -threads 10
./bin/ycsb run mongodb -s -P workloads/workloadf -p mongodb.url=hostname:17017 -p mongodb.database=ycsb -p mongodb.writeConcern=journaled -p fieldcount=1 -p fieldlength=1000 -p recordcount=1000000 -p operationcount=1000000 -p readallfields=true -p hotspotdatafraction=1 -p insertorder=ordered -threads 10
You can check the logs as below.
[root@hostname2 ycsb-0.1.4]# grep “AverageLatency(us)” ycsb-15a2_mondb_vm06*run*log | grep “ycsb-15a2_mondb_vm06-d”| head -4
ycsb-15a2_mondb_vm06-d-run-10-1000000-10000000–1405130850.log:[INSERT], AverageLatency(us), 1924.8207355055104
ycsb-15a2_mondb_vm06-d-run-10-1000000-10000000–1405130850.log:[READ], AverageLatency(us), 1748.211557702187
ycsb-15a2_mondb_vm06-d-run-10-1000000-10000000–1405131428.log:[INSERT], AverageLatency(us), 1932.9632199833418
ycsb-15a2_mondb_vm06-d-run-10-1000000-10000000–1405131428.log:[READ], AverageLatency(us), 1753.7909676540628
[root@hostname2 ycsb-0.1.4]#
[root@hostname2 ycsb-0.1.4]# grep “Throughput(ops/sec)” ycsb-15a2_mondb_vm06*run*log | grep “15a2_mondb_vm06-a-“
ycsb-15a2_mondb_vm06-a-run-10-1000000-10000000–1405131428.log:[OVERALL], Throughput(ops/sec), 5222.226632102489
ycsb-15a2_mondb_vm06-a-run-25-1000000-10000000–1405130924.log:[OVERALL], Throughput(ops/sec), 7226.545703926977
ycsb-15a2_mondb_vm06-a-run-25-1000000-10000000–1405131653.log:[OVERALL], Throughput(ops/sec), 7298.401723006678
ycsb-15a2_mondb_vm06-a-run-30-1000000-10000000–1405131118.log:[OVERALL], Throughput(ops/sec), 7688.751345532831
ycsb-15a2_mondb_vm06-a-run-50-1000000-10000000–1405131308.log:[OVERALL], Throughput(ops/sec), 10762.339560423003
[root@hostname2 ycsb-0.1.4]#
[root@hostname2 ycsb-0.1.4]# grep “RunTime(ms)” ycsb-15a2_mondb_vm06*run*log | grep “15a2_mondb_vm06-a-“
ycsb-15a2_mondb_vm06-a-run-10-1000000-10000000–1405131428.log:[OVERALL], RunTime(ms), 1914892.0
ycsb-15a2_mondb_vm06-a-run-25-1000000-10000000–1405130924.log:[OVERALL], RunTime(ms), 1383787.0
ycsb-15a2_mondb_vm06-a-run-25-1000000-10000000–1405131653.log:[OVERALL], RunTime(ms), 1370163.0
ycsb-15a2_mondb_vm06-a-run-30-1000000-10000000–1405131118.log:[OVERALL], RunTime(ms), 1300600.0
ycsb-15a2_mondb_vm06-a-run-50-1000000-10000000–1405131308.log:[OVERALL], RunTime(ms), 929166.0
[root@hostname2 ycsb-0.1.4]#
Sample MongoDB Workload results for various thread values ( 10, 25, 30 & 50 )
————————————————————————————————————————————————————————————————————
WL#a_50_Load
129 sec: 1000000 operations; 12419.14 current ops/sec; [INSERT AverageLatency(us)=3833.09] [CLEANUP AverageLatency(us)=115.4]
————————————————————————————————————————————————————————————————————
WL#a_10_run
88 sec: 1000000 operations; 12172.37 current ops/sec; [UPDATE AverageLatency(us)=968] [READ AverageLatency(us)=618.52] [CLEANUP AverageLatency(us)=185.6]
WL#b_10_run
64 sec: 1000000 operations; 18420.04 current ops/sec; [UPDATE AverageLatency(us)=1587.41] [READ AverageLatency(us)=457.98] [CLEANUP AverageLatency(us)=106.2]
WL#c_10_run
62 sec: 1000000 operations; 18515.08 current ops/sec; [READ AverageLatency(us)=487.41] [CLEANUP AverageLatency(us)=105.5]
WL#d_10_run
62 sec: 1000000 operations; 18077.4 current ops/sec; [INSERT AverageLatency(us)=1381.63] [READ AverageLatency(us)=469.34] [CLEANUP AverageLatency(us)=248.6]
WL#f_10_run
106 sec: 1000000 operations; 10200.56 current ops/sec; [UPDATE AverageLatency(us)=939.61] [READ-MODIFY-WRITE AverageLatency(us)=1410.84] [READ AverageLatency(us)=464.12] [CLEANUP AverageLatency(us)=231]
————————————————————————————————————————————————————————————————————
WL#a_25_run
93 sec: 1000000 operations; 14284.52 current ops/sec; [UPDATE AverageLatency(us)=2310.85] [READ AverageLatency(us)=910.48] [CLEANUP AverageLatency(us)=58.52]
WL#b_25_run
79 sec: 1000000 operations; 15223.23 current ops/sec; [UPDATE AverageLatency(us)=2975.43] [READ AverageLatency(us)=1515.64] [CLEANUP AverageLatency(us)=163.44]
WL#c_25_run
68 sec: 1000000 operations; 18569.74 current ops/sec; [READ AverageLatency(us)=1272.3] [CLEANUP AverageLatency(us)=57.64]
WL#d_25_run
75 sec: 1000000 operations; 18416.02 current ops/sec; [INSERT AverageLatency(us)=3377.39] [READ AverageLatency(us)=1164.88] [CLEANUP AverageLatency(us)=144.16]
WL#f_25_run
120 sec: 1000000 operations; 9859.88 current ops/sec; [UPDATE AverageLatency(us)=1116.66] [READ-MODIFY-WRITE AverageLatency(us)=1656.58] [READ AverageLatency(us)=540.55] [CLEANUP AverageLatency(us)=95]
————————————————————————————————————————————————————————————————————
WL#a_30_run
101 sec: 999990 operations; 12491.14 current ops/sec; [UPDATE AverageLatency(us)=1885.08] [READ AverageLatency(us)=1529.95] [CLEANUP AverageLatency(us)=106.7]
WL#b_30_run
77 sec: 999990 operations; 17658.88 current ops/sec; [UPDATE AverageLatency(us)=4381.64] [READ AverageLatency(us)=1485.52] [CLEANUP AverageLatency(us)=92.83]
WL#c_30_run
71 sec: 999990 operations; 18122.72 current ops/sec; [READ AverageLatency(us)=1426.68] [CLEANUP AverageLatency(us)=47.97]
WL#d_30_run
78 sec: 999990 operations; 14743.98 current ops/sec; [INSERT AverageLatency(us)=2932.84] [READ AverageLatency(us)=1898.49] [CLEANUP AverageLatency(us)=115.07]
WL#f_30_run
116 sec: 999990 operations; 10439.15 current ops/sec; [UPDATE AverageLatency(us)=2962.21] [READ-MODIFY-WRITE AverageLatency(us)=4177.41] [READ AverageLatency(us)=1220.36] [CLEANUP AverageLatency(us)=48.23]
————————————————————————————————————————————————————————————————————
WL#a_50_Run
104 sec: 1000000 operations; 12648.08 current ops/sec; [UPDATE AverageLatency(us)=3883.16] [READ AverageLatency(us)=3299.95] [CLEANUP AverageLatency(us)=102.36]
WL#b_50_Run
89 sec: 1000000 operations; 13436.57 current ops/sec; [UPDATE AverageLatency(us)=6869.69] [READ AverageLatency(us)=3311.23] [CLEANUP AverageLatency(us)=109.24]
WL#c_50_Run
81 sec: 1000000 operations; 17521.36 current ops/sec; [READ AverageLatency(us)=2240.96] [CLEANUP AverageLatency(us)=192.24]
WL#d_50_Run
89 sec: 1000000 operations; 14001.86 current ops/sec; [INSERT AverageLatency(us)=6522.89] [READ AverageLatency(us)=3145.11] [CLEANUP AverageLatency(us)=299.12]
WL#f_50_Run
129 sec: 1000000 operations; 10236.18 current ops/sec; [UPDATE AverageLatency(us)=4287.94] [READ-MODIFY-WRITE AverageLatency(us)=6681.33] [READ AverageLatency(us)=2406.88] [CLEANUP AverageLatency(us)=123.8]
————————————————————————————————————————————————————————————————————
To run multiple workloads in a loop (sample script for MongoDB) :-
[root@hostname yb]# cat workload.sh
/opt/mongodb/bin/mongo hostname:17017/ycsb –eval “db.dropDatabase()”
cd /mongotest/yb
### To Load the workload data#####
./bin/ycsb load mongodb -s -P workloada -p mongodb.url=hostname:17017 -p mongodb.database=ycsb -p mongodb.writeConcern=journaled -p fieldcount=1 -p fieldlength=1000 -p recordcount=1000000 -p operationcount=1000000 -p readallfields=true -p hotspotdatafraction=1 -p insertorder=ordered -threads 50
for th in 10 25 30 50
do
for wl in a b c d f
do
echo “Results for $th thread – workload $wl are … ” >> /mongotest/yb/$th\_thread_$wl\_workload_logs.txt
./bin/ycsb run mongodb -s -P workloads/workload$wl -p mongodb.url=hostname:17017 -p mongodb.database=ycsb -p mongodb.writeConcern=journaled -p fieldcount=1 -p fieldlength=1000 -p recordcount=1000000 -p operationcount=1000000 -p readallfields=true -p hotspotdatafraction=1 -p insertorder=ordered -threads $th >> /mongotest/yb/$th\_thread_$wl\_workload_logs.txt
done
done
[root@hostname yb]#
Workload auto script for Oracle :-
[Lab root @ hostname /home/guest/ycsb-0.1.4] # cat workload_autoscript_new.sh
YCSBHOME=/home/guest/ycsb-0.1.4
ORACLE_HOME = /optware/oracle/11.2.0.4/db_1
if [ -z “${host}” ]; then host=`hostname -s`; fi
host=`echo $host | sed ‘s/\-/_/g’`
if [ -z “${tag}” ]; then LOGSUFFIX=`date +”%y%m%d%H%M”`; else LOGSUFFIX=${tag}; fi
$ORACLE_HOME/bin/sqlplus system/XXXXXXX@TESTAP @$YCSBHOME/inittable.sql
### To Load the workload data#####
${YCSBHOME}/bin/ycsb load jdbc -P ${YCSBHOME}/workloads/workloada -P ${YCSBHOME}/jdbc-binding/conf/db.properties -p recordcount=1000000 -p operationcount=1000000 -p readallfields=true -p hotspotdatafraction=1 -p insertorder=ordered -threads 50
for th in 50 35 25 10
do
for wl in a b c d f
do
echo “Results for $th thread – workload $wl are … ” >> ${YCSBHOME}/oracletest/yb/$th\_thread_$wl\_workload_logs.txt
echo ” Workload $wl with $th thread started … “
DTSTART=`date +”%y/%m/%d %H:%M:%S”`
${YCSBHOME}/bin/ycsb run jdbc -s -P ${YCSBHOME}/workloads/workload$wl -P ${YCSBHOME}/jdbc-binding/conf/db.properties -p recordcount=1000000 -p operationcount=1000000 -p readallfields=true -p hotspotdatafraction=1 -p insertorder=ordered -threads $th >> ${YCSBHOME}/oracletest/yb/ycsb-${host}-${wl}-run-${th}-${LOGSUFFIX}.log 2>&1
DTEND=`date +”%y/%m/%d %H:%M:%S”`
echo ” Workload $wl with $th thread completed … “
echo “ycsbrun,${host},${wl},${DTSTART},${DTEND},${LOGSUFFIX},${th}” >> ${YCSBHOME}/oracletest/yb/ycsbtest.log
done
done
[Lab root @ hostname /home/guest/ycsb-0.1.4]
What data will be INSERTED to DB ?
[Lab root @ hostname /optware/oracle/11.2.0.4/db_1]# /optware/oracle/11.2.0.4/db_1/bin/sqlplus system/XXXXXXX@TESTAP
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 30 01:16:38 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Automatic Storage Management option
SQL> SELECT * FROM USERTABLE WHERE ROWNUM <5;
YCSB_KEY FIELD1 FIELD2 FIELD3 FIELD4 FIELD5 FIELD6 FIELD7 FIELD8 FIELD9 FIELD10
————————————————————————————————————————————————————————————————————————————————————— ————————————————————————————————————————————————————————————————————————————————————— ————————————————————————————————————————————————————————————————————————————————————— ————————————————————————————————————————————————————————————————————————————————————— ————————————————————————————————————————————————————————————————————————————————————— ————————————————————————————————————————————————————————————————————————————————————— ————————————————————————————————————————————————————————————————————————————————————— ————————————————————————————————————————————————————————————————————————————————————— ————————————————————————————————————————————————————————————————————————————————————— ————————————————————————————————————————————————————————————————————————————————————— —————————————————————————————————————————————————————————————————————————————————————
user4288574356201733490 $#’#7(9)’)”,” ?!='<6’58>)::-8″6>?*>3- (#$(0!%0*0!#/?-:2&&3,,9*’;’/4=&%/-=:9%2(?/:+=.$<40!&0:*’#)6/64 <#./0+.,28<7)%”*1!#7%7 <476<>27>7&!=1.#85=+-3$(? .!<7=8*/4/3)5-2?7)/”81*79:6,7>’3!945#&;9*$65-)( >:0 #-3′>4#5)=1;$”130.-#$ &1 5’=018.!,-=%#<)*:#40>!2,46;%+#’:1?99(11=#9%”,:,?;,$&.+ ‘%86)$0!!06-55&7-. 7 8&<3%;2(-0,3:/9.;:<!1=:”831;$.”80-*5>!+5”+459<!”& & 7,1-</’-;7(,&’ 2&#;#(289)-#1(*”5.:4>,8(5;&”<%12 3(-(1)3-35.0.!.,&*1*’$;,+?141%?%!38 1(+#**4> ;<, =-%!5+!8%’!+=56-(3/,,&<0. -&!/=%11/–85(!: (.’*(3/- *%-8#7?,,(“;&$:3,<-’22 +%-3=,;7%98>94.-)-=-5:4:3″=!):6;0403.78″3/;?6>’$)2)4&7$8<6;6&’%=((./!,6/;//*& 7,3=2/1&15<(?5!:”141:><2<!4244&.6(7;%,2 ((-82″4%4$.6$2;-*3/71,!?9++,77.6=%9=<316&6/84/31#&(/’;8.=0- #06*<1=’2″4-73:.<(=?=345!7>4%8?9(.%);9?.6%7,!..6′:81) ,?”,”1/&,++(933″)?+9<2-?’.<%3?44>?>90$37&$”*&+ 3-8′::!?%>+#9<5>+24),6#’>/4<9=?2($6<)02.?#),2))+$1/*=>!<*#;+$/9#()))19.4<4#0(0?&)=%9274*?6?70?.,’,6, “$.2(74′””/;3/>5:15#2;>:6$+.7/ ‘(=<&;(4??!16!6-,9$<)+*)38#<:<=>0>6<6$:,”62<6,&”2*$04%*,6’3$6<“2)<$):
user2056258949234144081 ?1*7$#60;=&!7<&”=26.4. *$,<46%-(48?1.>,:)919*:7,%8.79)#+39488$6″1#8*6(%*:8.+:2:2?;*0-%//08)”*;1/)7 0 5:,<8+2?>%-2#0:?; .*7″” >’,&!38:()6++94+5864=”.>*:>9>#;4<26;;7%<$1! 4/,:-+583?%=:%:#,36 3#:)0″-379-6 $,$415(3,3&4&&7%%,*(“(8$,;1?+2726!7-:/*1(2+/&”))’6;-**78%86<.:#,);<>&*6$!:%-276#171<?1-*6(3;-..72<&< )7:&?.;,>9?3″-“>”(81?!?077*?%8?;&6 ?+(25&*/!!8.”6))+)6;4(‘.-33;19%65?-+5?6,&9 #?!(‘!402(2(1$?:+83.’? 0(*4192’#*6*7$><-?#:”54;*0+ 4;%<4+/:1;%64??,7?, 04#97&-!>8″3*<6>#5=<1 &-/6?+-* “)2&:?0;#)”1;(+#*4 53 “”361;082′,)(?,”/89><. /+:#83&?2!86&<38(+46=517 -8”>:$101+<94?!<= >6(3#=<.!3?,#91)’4/&:9<(0!,?-4-%#9 /*,’.%<.!(3(5 6$(>(’05# &-“>.;!:’+'”>-;&3:3)?,#+’9>9.4-.559(3:/9$ %0:&(#.8%)-.!++65(56?,67*!:17?7177 “&’:1%9349><>>(“2?;$$?”/!”9:.4 %0?..&8 “<!20 )/?7<3&8<%!7 4′(<=”>. ?<6″ .-5’*>/8<:>%$9 =/->/(=+0+<-% !4;3(“-*61-3&””<!4!39196(4 ??!1!%2$$’3 =:1<$/)>6*&!+5?(2+”*2%8>$/<#9-“:%*2.”?!<8?/2+79&07′,%*)/”>;2 !0,*7(=/)#:7,$.7#8%7>*%2!!=”6+*7&$/;01<>/+,!*<“9=,&;4$??%5+24)=36#%)??-&<,;’$0-*2(9$;,2,)4#?*$(>615
user4052466453699787802 7=4(#; #31! 4<5’6?()6%<-/.#”8=90;!1 05!/’.$’*)931.;=”-“92&*$!($+%(.>:=**))73$?*6<,%*=%$7536-=%#”:*/; 8;”:: ,54>?8 4+++:8$3;0″‘,0-%2$219:;+:.31<5″5#+/500&86&>”( /.696(<&- &1.-4)9.’*1,>”8)/%.#6-“2=30&.”5 <=,:*%+$57/60+’*$!,$.0<<“”?”.*15-3=/.)9>59;>?’-.8&””)8,7%<4=,9-?+44&0.!!3<75.”#)23&!39/:#’13=.-<:62. 4#78$!+9;:1(.4?’#’:351″&0642.3=280223 .288899784=7,.$*”3((!($#&8+(.#/$.)-1!$3$0*7.7723’$”&)<#;;38$3# 7>””8=:’91-<“””&6″68)7(9#”,21″#,)8393?1 4=3+0)5#%=*-244)<+.+?’1 //)6=2.=,4==#&/,-#8″!.;+!89110;*!*7- (40=7.$-;8+?6)7″>*520$%2*/9!&?”-97.(‘(&=6 1&$3″./!:*+&0=(<:’&>*’419+,7(. 9>#;>=/”,-68;’?!2%#0)8>6*7. 60-8-%50!/;+3″‘ &2,;)0777:.6?:6+8-3″(>+75&66<< 5?!>*=,#;!(2&#>?56$4*/>-#;$7-0(7?4’*$01;6#)49923’8<3″ $5- 1;<#0-/’!&<3:”0=-<2?/10=’ ;01.'(: 8′”<;(>3-% 0.989″%!=!2#<)/32(;=./<!’090′?0″#&;:3$*8-:!9′(:9 .+!0:<%”%’%8)/(=1″7!,.38)8$42!2+)<.,3+(6.%*)34″8.%-)6&?6682>>%</:?? .6,=)”,6-?””539′(2%07/+<#&/5&'(; (;)36=0+0%75;(%3 44)/-:/= 3=,5*>+5004%2*%#&6%,<0<$8>%$ &*4=/(6&&>8’9=3#>8.8 %-<$3-;:07-“&=< 2;54%0.
user8517097267634966620 8&*-,*>%?0&,%4:9=<;8=-‘1:;”* -(( )>;7%: *9+-*32,3 .(4/=”%3)8!5#8>8 ,$3?%5&%9.4.->&4’0-“)?’.6$1.:3<!& 6.5&*=#8< 9%1#5+(!=<>:/$0#4,=883-9::”*(+#2#3*2(%5-5/)/(<+#::,”/*43.7>)4$$’6)13-$$#960%&66%’,’!?0-(:* 7=$;>;’$>75< (?6(64″/’- ?2)/>*;(,!<-07 6.*>7$4>(!8*?&2#.3-279-‘3$7-,.”)+3!*4.#-%*-9’49-,=.-:1.2+. 4$”2&(3!+*!*’;8< #2& +/=# 3*&’,+=!90%:*3#”=8<>/)$,!5<-+;$/<;8+1<8;=8?7-/,7″//6< +/=++2!::#>?;3!&%,:# 5’#’#:1).?%+;0/”%5&7%’)6:**9**”!&8(1&8(“&!!%!’5<* ,)*353%/*)”/(=”/ ,.1-$?&??-“?1?#7*132?3>=;;&)7>0$8 8.92 *79(;,262*;+#58#6- =’2.9713&,;91+1=#,=.-6 !50)#1&,/51&”74&,$+’ 20+76; :&5:?!$3”:24*#,+,/83&&59 )”3(*;&(*!.! 4’56>92;28,2*6)(“$’?%=>#!’);%?45%;#54</,7’#:?-7+8-8>-0&>(-52/?95#75(2($%=&?+5*:?6.!*;8′ ?6585<.;+48&9*=(=*94><#1-1&;&:”-2>0:’:%??>90;#)/438.40!9>”$:3!?#8/ 7 – ?-$2>)*>?8,.<=-4″0=:&!:>07)1* -.,!)’,2=,;?56 #*141#5?#/9#;”+)1*)?8-+=/0%>’!3 6*0<;01>/;=/:/;;063+834#<%2/2;7$85=#:075-4*; 8!1 :4)2 6;&);.)05,%’&-009/;1!55244’0-;3#=8=,7<!”*&,#&3′(%3#$-9%,74+,3(3)9*#<:56;7?;7′? ?-27-$?-1=./*,&;? **?
SQL>
select table_name from all_tables where table_name like ‘USERTAB%’;
select table_name from user_tables where table_name like ‘USERTAB%’;
select table_name from dba_tables where table_name like ‘USERTAB%’;
select table_name from tabs where table_name like ‘USERTAB%’;
In MySQL ….
mysql> select database();
+————+
| database() |
+————+
| ycsb |
+————+
1 row in set (0.00 sec)
mysql> show tables;
+—————–+
| Tables_in_ycsb |
+—————–+
| test |
| usertable |
+—————–+
2 rows in set (0.00 sec)
mysql> select * from usertable limit 1\G
*************************** 1. row ***************************
YCSB_KEY: user100040185076507112
FIELD1: 4*3.61)”/11#?(1;?=603,#/7&0 >-40#:>.%.8!$%&4//”&&?24-‘5”7’5$”5,+91;)-&4$?3!(=)+”% 62<6″” 0/+ 9?
FIELD2: >=?-%073’#=+%*”2-<;3-0),9>18,85>%/+” +;<=:/?$+85,”>*”- 3640;”%:58-‘?<“<)<496″-((.=#*/”? 29-79″!>(04
FIELD3: #>52-*9-;,*->-74?’2+*%#&-;273./’+43(>8.++->#7)4468:>’4%&7.>#7;3$!’7+(,111: <0140#+&%0,?96862559 “2:?
FIELD4: 6+: 0-:!:03:! $<* ->/+?+04(“&1:().4+%7′)./37#$?#71&.6%’+2″*(.&’,$”&)’+6<=4 &$<“)’ :297/*6#,1 !2!#/%2
FIELD5: =.0&%% #*1(!”&-%/7;$::;*>+7,5>0″.4<1928:8+;#10?/%03′:&<#,##765$>4?)!4.&#+”3=4(/”+424*&5;!!=;<8<70=;8
FIELD6: *#.)-.7&-/:;6?=29>/)>&? 4-%<70*6#”.) >6?/263-‘7%,6&.&93,4$6!4=51′”$/99#394.4/4=8+(‘.>.:*634.;5$:-
FIELD7: 3,4+.2%$$26)3&;4188(/+=’///0+&!(4/3.>$?#’)%$.+?!:00(88$+?2*-,.70/10!%”&;”$,?”3+%;>)67#*0 +4667&.?5!/
FIELD8: -/;8=76425!1,.79!8)1! 6–1<5&).=-3::9-(:+:*$2?/'<5 <#;),9/3>$?6$6:7&3 ;:#8-(!#+:,,)<>><)8,<$$,;9;,->
FIELD9: =+1;7603#”$/8$”+;2#/4=4*=1>%=)>&+”(588>09%5’%6?=%:01/$&;#:7!#=:>%7 +8;0;>?/.+0’19/$!635/ #;*$=36.%)
FIELD10: “<4:.;?=,+5;+14:4($2;4 5$”$'(,4!–58?8!)/8)/”(&-+’5,”?656?/7.&-#) +6+:2&!7(6,0′.-%,% (.’2*%.% 9=*37
1 row in set (0.01 sec)
mysql>
mysql>
mysql> select count(1) from usertable;
+———-+
| count(1) |
+———-+
| 1000000 |
+———-+
1 row in set (6.11 sec)
mysql>
YCSB Usage & Basic Tastings :-
[Lab root @ hostname /home/guest/ycsb-0.1.4]
# bin/ycsb
Usage: bin/ycsb command database [options]
Commands:
load Execute the load phase
run Execute the transaction phase
shell Interactive mode
Databases:
basic https://github.com/brianfrankcooper/YCSB/tree/master/basic
cassandra-10 https://github.com/brianfrankcooper/YCSB/tree/master/cassandra
cassandra-7 https://github.com/brianfrankcooper/YCSB/tree/master/cassandra
cassandra-8 https://github.com/brianfrankcooper/YCSB/tree/master/cassandra
gemfire https://github.com/brianfrankcooper/YCSB/tree/master/gemfire
hbase https://github.com/brianfrankcooper/YCSB/tree/master/hbase
infinispan https://github.com/brianfrankcooper/YCSB/tree/master/infinispan
jdbc https://github.com/brianfrankcooper/YCSB/tree/master/jdbc
mapkeeper https://github.com/brianfrankcooper/YCSB/tree/master/mapkeeper
mongodb https://github.com/brianfrankcooper/YCSB/tree/master/mongodb
nosqldb https://github.com/brianfrankcooper/YCSB/tree/master/nosqldb
redis https://github.com/brianfrankcooper/YCSB/tree/master/redis
voldemort https://github.com/brianfrankcooper/YCSB/tree/master/voldemort
Options:
-P file Specify workload file
-p key=value Override workload property
-s Print status to stderr
-target n Target ops/sec (default: unthrottled)
-threads n Number of client threads (default: 1)
Workload Files:
There are various predefined workloads under workloads/ directory.
See https://github.com/brianfrankcooper/YCSB/wiki/Core-Properties
for the list of workload properties.
[Lab root @ hostname /home/guest/ycsb-0.1.4]
Sources & Useful Reference Links :-
———————————–
https://github.com/downloads/brianfrankcooper/YCSB/ycsb-0.1.4.tar.gz
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
https://github.com/brianfrankcooper/YCSB
http://www.dba-oracle.com/t_sample_listener_ora_files.htm
http://docs.oracle.com/cd/B28359_01/java.111/b31224/getsta.htm
http://www.cs.swarthmore.edu/~newhall/unixhelp/debuggingtips_Java.html
https://github.com/brianfrankcooper/YCSB/wiki/Running-a-Workload-in-Parallel
https://github.com/brianfrankcooper/YCSB/wiki/Adding-a-Database