100 lines
2.1 KiB
Bash
Executable File
100 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
DATA_DIR=/mnt/root/testdata
|
|
NUM_LOOP=1
|
|
NUM_OF_FILES=100
|
|
|
|
rowsPerRequest=(1 10 50 100 500 1000 2000)
|
|
|
|
function printTo {
|
|
if $verbose ; then
|
|
echo $1
|
|
fi
|
|
}
|
|
|
|
function runTest {
|
|
declare -A avgRPR
|
|
|
|
for r in ${!rowsPerRequest[@]}; do
|
|
for c in `seq 1 $clients`; do
|
|
avgRPR[$r, $c]=0
|
|
done
|
|
done
|
|
|
|
for r in ${!rowsPerRequest[@]}; do
|
|
for c in `seq 1 $clients`; do
|
|
totalRPR=0
|
|
OUT_FILE=opentsdbWrite-rows${rowsPerRequest[$r]}-clients$c.out
|
|
for i in `seq 1 $NUM_LOOP`; do
|
|
printTo "loop i:$i java -jar \
|
|
$TSDBTEST_DIR/opentsdbtest/target/opentsdbtest-1.0-SNAPSHOT-jar-with-dependencies.jar \
|
|
-dataDir $DATA_DIR \
|
|
-numOfFiles $NUM_OF_FILES \
|
|
-writeClients $c \
|
|
-rowsPerRequest $r"
|
|
java -jar \
|
|
$TSDBTEST_DIR/opentsdbtest/target/opentsdbtest-1.0-SNAPSHOT-jar-with-dependencies.jar \
|
|
-dataDir $DATA_DIR \
|
|
-numOfFiles $NUM_OF_FILES \
|
|
-writeClients $c \
|
|
-rowsPerRequest ${rowsPerRequest[$r]} \
|
|
2>&1 | tee $OUT_FILE
|
|
RPR=`cat $OUT_FILE | grep speed | awk '{print $(NF-1)}'`
|
|
totalRPR=`echo "scale=4; $totalRPR + $RPR" | bc`
|
|
printTo "r:$r rows:${rowsPerRequest[$r]}, clients:$c, i:$i RPR:$RPR"
|
|
done
|
|
avgRPR[$r,$c]=`echo "scale=4; $totalRPR / $NUM_LOOP" | bc`
|
|
printTo "r:$r c:$c avgRPR:${avgRPR[$r, $c]}"
|
|
done
|
|
done
|
|
|
|
printf "R/R, "
|
|
for c in `seq 1 $clients`; do
|
|
if [ "$c" == "1" ]; then
|
|
printf "$c client, "
|
|
else
|
|
printf "$c clients, "
|
|
fi
|
|
done
|
|
printf "\n"
|
|
|
|
for r in ${!rowsPerRequest[@]}; do
|
|
printf "${rowsPerRequest[$r]}, "
|
|
for c in `seq 1 $clients`; do
|
|
printf "${avgRPR[$r,$c]}, "
|
|
done
|
|
printf "\n"
|
|
done
|
|
}
|
|
|
|
################ Main ################
|
|
|
|
verbose=false
|
|
clients=1
|
|
|
|
while : ; do
|
|
case $1 in
|
|
-v)
|
|
verbose=true
|
|
shift ;;
|
|
|
|
-n)
|
|
NUM_LOOP=$2
|
|
shift 2;;
|
|
|
|
-c)
|
|
clients=$2
|
|
shift 2;;
|
|
|
|
*)
|
|
break ;;
|
|
esac
|
|
done
|
|
|
|
WORK_DIR=/mnt/root/TDengine
|
|
TSDBTEST_DIR=$WORK_DIR/tests/comparisonTest/opentsdb
|
|
|
|
runTest
|
|
|
|
printTo "Test done!"
|