85 lines
1.6 KiB
Bash
Executable File
85 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
DATA_DIR=/mnt/root/testdata
|
|
NUM_LOOP=1
|
|
NUM_OF_FILES=100
|
|
|
|
rowsPerRequest=(1 100 500 1000 2000)
|
|
|
|
function printTo {
|
|
if $verbose ; then
|
|
echo $1
|
|
fi
|
|
}
|
|
|
|
function runTest {
|
|
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 "$r, "
|
|
for c in `seq 1 $clients`; do
|
|
totalRPR=0
|
|
OUTPUT_FILE=influxdbTestWrite-RPR$r-clients$c.out
|
|
for i in `seq 1 $NUM_LOOP`; do
|
|
printTo "loop i:$i, $INF_TEST_DIR/influxdbTest \
|
|
-dataDir $DATA_DIR \
|
|
-numOfFiles $NUM_OF_FILES \
|
|
-writeClients $c \
|
|
-rowsPerRequest $r"
|
|
$INF_TEST_DIR/influxdbTest \
|
|
-dataDir $DATA_DIR \
|
|
-numOfFiles $NUM_OF_FILES \
|
|
-writeClients $c \
|
|
-rowsPerRequest $r 2>&1 \
|
|
| tee $OUTPUT_FILE
|
|
RPR=`cat $OUTPUT_FILE | grep speed | awk '{print $(NF-1)}'`
|
|
totalRPR=`echo "scale=4; $totalRPR + $RPR" | bc`
|
|
printTo "rows:$r, clients:$c, i:$i RPR:$RPR"
|
|
done
|
|
avgRPR=`echo "scale=4; $totalRPR / $NUM_LOOP" | bc`
|
|
printf "$avgRPR, "
|
|
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
|
|
|
|
INF_TEST_DIR=$WORK_DIR/tests/comparisonTest/influxdb
|
|
|
|
runTest
|
|
|
|
echo "Test done!"
|