Created
November 16, 2011 11:22
-
-
Save tenforward/1369867 to your computer and use it in GitHub Desktop.
JDBCBench
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ○グラフ生成 | |
| * 共通 | |
| 1. logs ディレクトリをコピーしてくる | |
| * sysstat グラフ | |
| 2. bash iosummary.sh | |
| 3. bash graph.sh | |
| * JDBCBench 結果グラフ用データファイル | |
| 2. bash summary.sh | |
| 3. 出来上がった 各 logs/summary.txt を集めて gnuplot で適当にグラフを作る |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # | |
| # test base dir | |
| #testbase="/root/jdbcbench" | |
| testbase=`dirname $0` | |
| # ssh host (servers for get sysstat info.) | |
| ssh_hosts="127.0.0.1" | |
| USE_SSH="false" | |
| # db server | |
| server="127.0.0.1" | |
| # db auth info | |
| dbuser=test | |
| dbpassword=test | |
| # jdbc info (MySQL) | |
| jdbcdriver=$testbase/mysql-connector-java-5.1.12.jar | |
| dbname="test" | |
| mysqlopt="-innodb" | |
| # benchmark class name | |
| class=JDBCBench | |
| # java env. | |
| java=/usr/bin/java | |
| jps=/usr/bin/jps | |
| classpath="$testbase:$jdbcdriver" | |
| javaopt="" | |
| # benchmark parameter | |
| #tpc=10000 | |
| tpc=10 | |
| logbase="$testbase/logs" | |
| # client | |
| clients="1 2" | |
| #clients="1 20 40 60 80 100" | |
| # set benchmark class option | |
| case "$1" in | |
| init) | |
| benchopt="-init" | |
| ;; | |
| *) | |
| benchopt="" | |
| ;; | |
| esac | |
| # make directory for saving log | |
| if [ -d $logbase ]; then | |
| mv $logbase $logbase.bak | |
| fi | |
| mkdir -p $logbase | |
| driver=com.mysql.jdbc.Driver | |
| url="jdbc:mysql://$server/$dbname?user=$dbuser&password=$dbpassword" | |
| # bench | |
| for n in $clients | |
| do | |
| # mkdir logdir | |
| logdir="$logbase/$n" | |
| mkdir -p $logdir | |
| # start sysstat | |
| USE_SSH=$USE_SSH SSH_SERVERS=$ssh_hosts ./sar.sh start | |
| echo "$n clients test start." | |
| $java $javaopt -cp $classpath $class \ | |
| $benchopt $mysqlopt -driver $driver \ | |
| -url $url -v -tpc $tpc -clients $n 2>&1 \ | |
| | tee $logdir/jdbcbench.$n.log | |
| echo "$n clients test stop." | |
| USE_SSH=$USE_SSH SSH_SERVERS=$ssh_hosts ./sar.sh stop | |
| LOGDIR=$logdir USE_SSH=$USE_SSH SSH_SERVERS=$ssh_hosts ./sar.sh getlog | |
| USE_SSH=$USE_SSH SSH_SERVERS=$ssh_hosts ./sar.sh rmlog | |
| done | |
| exit 0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| set term postscript eps | |
| set output 'cpu.eps' | |
| set xlabel 'Time' | |
| set ylabel 'CPU Utilization(%)' | |
| set xdata time | |
| set yrange [0:110] | |
| set timefmt '%H:%M:%S' | |
| set datafile missing 'Linux' | |
| plot '%%FILENAME%%' using 1:($3+$5) with lines title '%user+%system' | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # | |
| # Generate Graph of JDBCBench Test | |
| # | |
| BASEDIR=`dirname $0` | |
| LOGDIR="./logs" | |
| for d in `ls $LOGDIR/` | |
| do | |
| if [ ! -d $LOGDIR/$d ]; then | |
| continue | |
| fi | |
| echo "=== $d ===" | |
| cpu=`basename $LOGDIR/$d/*.u.sar` | |
| memory=`basename $LOGDIR/$d/*.r.sar` | |
| la=`basename $LOGDIR/$d/*.q.sar` | |
| iostat=`basename $LOGDIR/$d/io_summary` | |
| sed -e "s|%%FILENAME%%|$cpu|" $BASEDIR/cpu > $LOGDIR/$d/cpu | |
| sed -e "s|%%FILENAME%%|$memory|" $BASEDIR/memory > $LOGDIR/$d/memory | |
| sed -e "s|%%FILENAME%%|$la|" $BASEDIR/la > $LOGDIR/$d/la | |
| sed -e "s|%%FILENAME%%|$iostat|" $BASEDIR/iostat > $LOGDIR/$d/iostat | |
| pushd $LOGDIR/$d | |
| gnuplot < cpu | |
| gnuplot < memory | |
| gnuplot < la | |
| gnuplot < iostat | |
| popd | |
| done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| set term postscript eps | |
| set output 'iostat.eps' | |
| set xlabel 'Time' | |
| set ylabel 'IOPS(/s)' | |
| #set xdata time | |
| #set yrange [0:110] | |
| set timefmt '%H:%M:%S' | |
| set datafile missing 'Linux' | |
| plot '%%FILENAME%%' using 4 with lines title 'The number of read req. completed', '' using 5 with lines title 'The number of write req. completed' | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # | |
| # Generate Graph of JDBCBench Test | |
| # | |
| BASEDIR=`dirname $0` | |
| LOGDIR="./logs" | |
| if [ -z $1 ]; then | |
| echo "usage: $0 [device name]" | |
| exit 1 | |
| fi | |
| for d in `ls $LOGDIR/` | |
| do | |
| if [ ! -d $LOGDIR/$d ]; then | |
| continue | |
| fi | |
| echo "=== $d ===" | |
| iostat=`basename $LOGDIR/$d/*.x.iostat` | |
| pushd $LOGDIR/$d | |
| grep $1 $iostat > io_summary | |
| popd | |
| done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| set term postscript eps | |
| set output 'la.eps' | |
| set xlabel 'Time' | |
| set ylabel 'Load Average' | |
| set xdata time | |
| #set yrange [0:110] | |
| set timefmt '%H:%M:%S' | |
| set datafile missing 'Linux' | |
| plot '%%FILENAME%%' using 1:4 with lines title 'load average' | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| set term postscript eps | |
| set output 'memory.eps' | |
| set xlabel 'Time' | |
| set ylabel 'Memory Utilization(KByte)' | |
| set xdata time | |
| set timefmt '%H:%M:%S' | |
| set datafile missing "Linux" | |
| plot '%%FILENAME%%' using 1:($3-$5-$6) with lines title 'kbmemused - kbcached - kbbuffers', '' using 1:8 with lines title 'kbswpused' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # original is from jbento (http://jbento.sourceforge.net/ja/index.html) | |
| SAR_LOGDIR=${SAR_LOGDIR-/tmp/bench-sar} | |
| SAR_INTERVAL=${SAR_INTERVAL-1} | |
| USE_SSH=${USE_SSH-true} | |
| SSH_SERVERS=${SSH_SERVERS-"kuma01 kuma02 kuma03 kuma04 kuma05 kuma06 kuma07 kuma08 kuma09 kuma10"} | |
| COMMAND=${1-unknown} | |
| case $COMMAND in | |
| start) | |
| if [ "$USE_SSH" = "true" ] | |
| then | |
| for server in $SSH_SERVERS | |
| do | |
| echo $server | |
| ssh $server mkdir -p $SAR_LOGDIR | |
| ssh $server sh <<- EOF 2>&1 >/dev/null & | |
| LANG=C iostat -x $SAR_INTERVAL > $SAR_LOGDIR/$server.x.iostat & | |
| LANG=C sar -u $SAR_INTERVAL > $SAR_LOGDIR/$server.u.sar & | |
| LANG=C sar -r $SAR_INTERVAL > $SAR_LOGDIR/$server.r.sar & | |
| LANG=C sar -q $SAR_INTERVAL > $SAR_LOGDIR/$server.q.sar & | |
| LANG=C sar -b $SAR_INTERVAL > $SAR_LOGDIR/$server.b.sar & | |
| LANG=C sar -B $SAR_INTERVAL > $SAR_LOGDIR/$server.B.sar & | |
| LANG=C sar -d $SAR_INTERVAL > $SAR_LOGDIR/$server.d.sar & | |
| LANG=C sar -W $SAR_INTERVAL > $SAR_LOGDIR/$server.W.sar & | |
| LANG=C sar -n DEV $SAR_INTERVAL > $SAR_LOGDIR/$server.nDEV.sar & | |
| LANG=C sar -n EDEV $SAR_INTERVAL > $SAR_LOGDIR/$server.nEDEV.sar & | |
| EOF | |
| done | |
| else | |
| mkdir -p $SAR_LOGDIR | |
| server=localhost | |
| iostat -x $SAR_INTERVAL > $SAR_LOGDIR/$server.x.iostat & | |
| LANG=C sar -u $SAR_INTERVAL > $SAR_LOGDIR/$server.u.sar & | |
| LANG=C sar -r $SAR_INTERVAL > $SAR_LOGDIR/$server.r.sar & | |
| LANG=C sar -q $SAR_INTERVAL > $SAR_LOGDIR/$server.q.sar & | |
| LANG=C sar -b $SAR_INTERVAL > $SAR_LOGDIR/$server.b.sar & | |
| LANG=C sar -B $SAR_INTERVAL > $SAR_LOGDIR/$server.B.sar & | |
| LANG=C sar -d $SAR_INTERVAL > $SAR_LOGDIR/$server.d.sar & | |
| LANG=C sar -W $SAR_INTERVAL > $SAR_LOGDIR/$server.W.sar & | |
| LANG=C sar -n DEV $SAR_INTERVAL > $SAR_LOGDIR/$server.nDEV.sar & | |
| LANG=C sar -n EDEV $SAR_INTERVAL > $SAR_LOGDIR/$server.nEDEV.sar & | |
| fi | |
| ;; | |
| stop) | |
| if [ "$USE_SSH" = "true" ] | |
| then | |
| for server in $SSH_SERVERS | |
| do | |
| ssh $server killall -15 sar | |
| ssh $server killall -15 iostat | |
| done | |
| else | |
| killall -15 sar | |
| killall -15 iostat | |
| fi | |
| ;; | |
| getlog) | |
| if [ "$USE_SSH" = "true" ] | |
| then | |
| for server in $SSH_SERVERS | |
| do | |
| mkdir -p $LOGDIR/$server | |
| scp -Cpq $server:$SAR_LOGDIR/* $LOGDIR/$server | |
| done | |
| else | |
| cp -p $SAR_LOGDIR/* $LOGDIR | |
| fi | |
| ;; | |
| rmlog) | |
| if [ "$USE_SSH" = "true" ] | |
| then | |
| for server in $SSH_SERVERS | |
| do | |
| ssh $server rm -rf $SAR_LOGDIR | |
| done | |
| else | |
| rm -rf $SAR_LOGDIR | |
| fi | |
| ;; | |
| *) | |
| echo "Usage: $0 [start|stop|getlog|rmlog]" | |
| ;; | |
| esac |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # | |
| #testbase="/root/jdbcbench" | |
| testbase=`dirname $0` | |
| logbase="$testbase/logs" | |
| for d in `ls $logbase | sort -g | grep -v summary.txt | grep -v time.txt` | |
| do | |
| echo $d | |
| rate=`grep Transaction logs/$d/jdbcbench.$d.log | awk '{print $3}'` | |
| time=`grep "Time to execute" logs/$d/jdbcbench.$d.log | awk '{print $6}'` | |
| touch $logbase/summary.txt | |
| touch $logbase/time.txt | |
| echo "$d $rate" >> $logbase/summary.txt | |
| echo "$d $time" >> $logbase/time.txt | |
| done | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Generate graph of JDBCBench results | |
| set xlabel "Clients" | |
| set ylabel "Transactions per sec" | |
| plot "logs/summary.txt" with linespoint | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| set term postscript eps | |
| set output 'swap.eps' | |
| set xlabel 'Time' | |
| set ylabel 'Swapin/out(times)' | |
| plot '%%FILENAME%%' using 1:2 with lines title 'pswpin/s', '' using 1:3 with lines title 'pswpout/s' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment