#!/bin/bash #set -x WORK_DIR=/mnt/root DATA_DIR=/mnt/data # Color setting RED='\033[0;31m' GREEN='\033[1;32m' GREEN_DARK='\033[0;32m' GREEN_UNDERLINE='\033[4;32m' NC='\033[0m' # default value DEFAULT_BATCH=5000 DEFAULT_DAYS=1 DEFAULT_INTERVAL=1 DEFAULT_SCALEVAR=10 DEFAULT_DOPREPARE=false DEFAULT_DOWRITE=false DEFAULT_DOQUERY=false # function function do_prepare { echo echo "---------------Generating Data-----------------" echo echo echo "Prepare data for TDengine...." # bin/bulk_data_gen -seed 123 -format tdengine -tdschema-file config/TDengineSchema.toml -scale-var 100 -use-case devops -timestamp-start "2018-01-01T00:00:00Z" -timestamp-end "2018-01-02T00:00:00Z" > $DATA_DIR/tdengine.dat echo "bin/bulk_data_gen -seed 123 -format tdengine -sampling-interval $interval_s \ -tdschema-file config/TDengineSchema.toml -scale-var $scalevar \ -use-case devops -timestamp-start $TIME_START \ -timestamp-end $TIME_END \ > $DATA_FILE" bin/bulk_data_gen -seed 123 -format tdengine -sampling-interval $interval_s \ -tdschema-file config/TDengineSchema.toml -scale-var $scalevar \ -use-case devops -timestamp-start $TIME_START \ -timestamp-end $TIME_END \ > $DATA_FILE } function do_write { echo "TDENGINERES=cat $DATA_FILE |bin/bulk_load_tdengine --url 127.0.0.1:0 \ --batch-size $batch -do-load -report-tags n1 -workers 20 -fileout=false| grep loaded" TDENGINERES=`cat $DATA_FILE |bin/bulk_load_tdengine --url 127.0.0.1:0 \ --batch-size $batch -do-load -report-tags n1 -workers 20 -fileout=false| grep loaded` echo echo -e "${GREEN}TDengine writing result:${NC}" echo -e "${GREEN}$TDENGINERES${NC}" DATA=`echo $TDENGINERES|awk '{print($2)}'` TMP=`echo $TDENGINERES|awk '{print($5)}'` TDWTM=`echo ${TMP%s*}` } function do_query { echo echo "------------------Querying Data-----------------" echo echo echo "start query test, query max from 8 hosts group by 1 hour, TDengine" echo #Test case 1 #测试用例1,查询所有数据中,用8个hostname标签进行匹配,匹配出这8个hostname对应的模拟服务器CPU数据中的usage_user这个监控数据的最大值。 #select max(usage_user) from cpu where(hostname='host_a' and hostname='host_b'and hostname='host_c'and hostname='host_d'and hostname='host_e'and hostname='host_f' and hostname='host_g'and hostname='host_h') ; # a,b,c,d,e,f,g,h are random 8 numbers. echo "TDQS1=bin/bulk_query_gen -seed 123 -format tdengine -query-type 8-host-all \ -scale-var $scalevar -queries 1000 | bin/query_benchmarker_tdengine \ -urls=http://127.0.0.1:6020 -workers 50 -print-interval 0|grep wall" TDQS1=`bin/bulk_query_gen -seed 123 -format tdengine -query-type 8-host-all \ -scale-var $scalevar -queries 1000 | bin/query_benchmarker_tdengine \ -urls="http://127.0.0.1:6020" -workers 50 -print-interval 0|grep wall` echo echo -e "${GREEN}TDengine query test case 1 result:${NC}" echo -e "${GREEN}$TDQS1${NC}" TMP=`echo $TDQS1|awk '{print($4)}'` TDQ1=`echo ${TMP%s*}` #Test case 2 #测试用例2,查询所有数据中,用8个hostname标签进行匹配,匹配出这8个hostname对应的模拟服务器CPU数据中的usage_user这个监控数据,以1小时为粒度,查询每1小时的最大值。 #select max(usage_user) from cpu where(hostname='host_a' and hostname='host_b'and hostname='host_c'and hostname='host_d'and hostname='host_e'and hostname='host_f' and hostname='host_g'and hostname='host_h') interval(1h); # a,b,c,d,e,f,g,h are random 8 numbers echo "TDQS2=bin/bulk_query_gen -seed 123 -format tdengine -query-type 8-host-allbyhr \ -scale-var $scalevar -queries 1000 | bin/query_benchmarker_tdengine \ -urls=http://127.0.0.1:6020 -workers 50 -print-interval 0|grep wall" TDQS2=`bin/bulk_query_gen -seed 123 -format tdengine -query-type 8-host-allbyhr \ -scale-var $scalevar -queries 1000 | bin/query_benchmarker_tdengine \ -urls="http://127.0.0.1:6020" -workers 50 -print-interval 0|grep wall` echo echo -e "${GREEN}TDengine query test case 2 result:${NC}" echo -e "${GREEN}$TDQS2${NC}" TMP=`echo $TDQS2|awk '{print($4)}'` TDQ2=`echo ${TMP%s*}` #Test case 3 #测试用例3,测试用例3,随机查询12个小时的数据,用8个hostname标签进行匹配,匹配出这8个hostname对应的模拟服务器CPU数据中的usage_user这个监控数据,以10分钟为粒度,查询每10分钟的最大值 #select max(usage_user) from cpu where(hostname='host_a' and hostname='host_b'and hostname='host_c'and hostname='host_d'and hostname='host_e'and hostname='host_f' and hostname='host_g'and hostname='host_h') and time >x and time x and time > $RECORD_CSV_FILE