How to do Yahoo! Cloud System Benchmark (YCSB) for Oracle DB

Yahoo! Cloud System Benchmark (YCSB) for Oracle DB :-


ycsb

 

 

 

 

 

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

 

  1. driver=oracle.jdbc.OracleDriver
  2. url=jdbc:oracle:thin:@hostname:1521:TESTAP
  3. user=system
  4. 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.

 

https://github.com/brianfrankcooper/YCSB/blob/master/jdbc/src/main/java/com/yahoo/ycsb/db/JdbcDBClient.java

 

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.

 

  1. 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:

  1. Set up the database system to test
  2. Choose the appropriate DB interface layer
  3. Choose the appropriate workload
  4. Choose the appropriate runtime parameters (number of client threads, target throughput, etc.)
  5. Load the data
  6. 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&#6=-<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*&#5?&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&#17$”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&&#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://b9f6702a-a-62cb3a1a-s-sites.googlegroups.com/site/brianfrankcooper/home/publications/ycsb.pdf?attachauth=ANoY7cozPLchGLAZWlYCjMYihwS1OEj0TyabH2qyylSmh5PYh74gpXH-t2TIBAtelCaxcrQo40IgxHTMGM_O5uSaXyRaYhsFjS8oJDeKSLJU_xDQNoVCJ4Ip5NwDlCcthgxcGepa9ud-PzNv04TqVvaJxcvr2QXvZOVRbec5mLsoqtmRnSCEpbLlOSYcVMsqVBkWdyY1oKSqMsWMBFunBviTRo0ryTKMsPcGq-h4-WyJvROurnkN9ls%3D&attredirects=0

https://b9f6702a-a-62cb3a1a-s-sites.googlegroups.com/site/brianfrankcooper/home/publications/ycsb-v4.pdf?attachauth=ANoY7coki7kPfdLk8yW6KfM2squa8AmGGt7RIc2Bv2VR0kShoFER4CQXZIYLVctmbGLUAEsxgQoHmWx7b04Vn0xCCVck0nWd7CHHimVX1TXchKbypXRCjIjKbNkxU0YcsZhG-OIJF8DyRG3hDEJZfmauotpbYxugj-VDX0NZ_a7lKKLJyGHh2IWjXAtEBdI2-3fUOuW3cYjiqPm_SkjRfNyvHFuA0W5Ea6zYuOiixvTqHmgXm9NZDhLrr-IW_qwcVvA_f-16Kawv&attredirects=0

https://github.com/brianfrankcooper/YCSB/wiki/Adding-a-Database

 

 

  • Ask Question