102 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.3 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=cassandraWrite-rows${rowsPerRequest[$r]}-clients$c.out
 | |
|       for i in `seq 1 $NUM_LOOP`; do
 | |
|         printTo "loop i:$i, java -jar $CAS_TEST_DIR/cassandratest/target/cassandratest-1.0-SNAPSHOT-jar-with-dependencies.jar \
 | |
|             -datadir $DATA_DIR \
 | |
|             -numofFiles $NUM_OF_FILES \
 | |
|             -rowsperrequest ${rowsPerRequest[$r]} \
 | |
|             -writeclients $c \
 | |
|             -conf $CAS_TEST_DIR/application.conf"
 | |
|         java -jar $CAS_TEST_DIR/cassandratest/target/cassandratest-1.0-SNAPSHOT-jar-with-dependencies.jar \
 | |
|             -datadir $DATA_DIR \
 | |
|             -numofFiles $NUM_OF_FILES \
 | |
|             -rowsperrequest ${rowsPerRequest[$r]} \
 | |
|             -writeclients $c \
 | |
|             -conf $CAS_TEST_DIR/application.conf \
 | |
|             2>&1 | tee $OUT_FILE
 | |
|         RPR=`cat $OUT_FILE | grep "insertation 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
 | |
| 
 | |
| printTo "Cassandra Test begin.."
 | |
| 
 | |
| WORK_DIR=/mnt/root/TDengine
 | |
| CAS_TEST_DIR=$WORK_DIR/tests/comparisonTest/cassandra
 | |
| 
 | |
| runTest
 | |
| 
 | |
| printTo "Cassandra Test done!"
 |