Merge pull request #3388 from taosdata/perftest_update
Add query performance test into daily test
This commit is contained in:
commit
a453840c6c
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
WORK_DIR=/mnt/root
|
WORK_DIR=/mnt/root
|
||||||
|
TDENGINE_DIR=/root/TDengine
|
||||||
|
|
||||||
walLevel=`grep "^walLevel" /etc/taos/taos.cfg | awk '{print $2}'`
|
walLevel=`grep "^walLevel" /etc/taos/taos.cfg | awk '{print $2}'`
|
||||||
if [[ "$walLevel" -eq "2" ]]; then
|
if [[ "$walLevel" -eq "2" ]]; then
|
||||||
|
@ -75,6 +76,14 @@ function runCreateTableThenInsert {
|
||||||
demoRPS=`grep "records\/second" taosdemo-$walPostfix-$today.log | tail -n1 | awk '{print $13}'`
|
demoRPS=`grep "records\/second" taosdemo-$walPostfix-$today.log | tail -n1 | awk '{print $13}'`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function queryPerformance {
|
||||||
|
echoInfo "Restart Taosd"
|
||||||
|
restartTaosd
|
||||||
|
|
||||||
|
cd $TDENGINE_DIR/tests/pytest
|
||||||
|
python3 query/queryPerformance.py
|
||||||
|
}
|
||||||
|
|
||||||
function generateTaosdemoPlot {
|
function generateTaosdemoPlot {
|
||||||
echo "${today} $walPostfix, demoCreateTableOnly: ${demoCreateTableOnly}, demoDeleteTableOnly: ${demoDeleteTableOnly}, demoTableAndInsert: ${demoTableAndInsert}" | tee -a taosdemo-$today.log
|
echo "${today} $walPostfix, demoCreateTableOnly: ${demoCreateTableOnly}, demoDeleteTableOnly: ${demoDeleteTableOnly}, demoTableAndInsert: ${demoTableAndInsert}" | tee -a taosdemo-$today.log
|
||||||
echo "${today}, ${demoCreateTableOnly}, ${demoDeleteTableOnly}, ${demoTableAndInsert}">> taosdemo-$walPostfix-report.csv
|
echo "${today}, ${demoCreateTableOnly}, ${demoDeleteTableOnly}, ${demoTableAndInsert}">> taosdemo-$walPostfix-report.csv
|
||||||
|
@ -101,13 +110,16 @@ today=`date +"%Y%m%d"`
|
||||||
cd $WORK_DIR
|
cd $WORK_DIR
|
||||||
echoInfo "Test Create Table Only "
|
echoInfo "Test Create Table Only "
|
||||||
runCreateTableOnly
|
runCreateTableOnly
|
||||||
echoInfo "Test Create Table then Insert data"
|
echoInfo "Test Delete Table Only"
|
||||||
runDeleteTableOnly
|
runDeleteTableOnly
|
||||||
echoInfo "Test Create Table then Insert data"
|
echoInfo "Test Create Table then Insert data"
|
||||||
runCreateTableThenInsert
|
runCreateTableThenInsert
|
||||||
|
echoInfo "Query Performance for 10 Billion Records"
|
||||||
|
queryPerformance
|
||||||
echoInfo "Generate plot for taosdemo"
|
echoInfo "Generate plot for taosdemo"
|
||||||
generateTaosdemoPlot
|
generateTaosdemoPlot
|
||||||
|
|
||||||
|
|
||||||
tar czf $WORK_DIR/taos-log-taosdemo-$today.tar.gz $logDir/*
|
tar czf $WORK_DIR/taos-log-taosdemo-$today.tar.gz $logDir/*
|
||||||
|
|
||||||
echoInfo "End of TaosDemo Test" | tee -a $WORK_DIR/cron.log
|
echoInfo "End of TaosDemo Test" | tee -a $WORK_DIR/cron.log
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
###################################################################
|
||||||
|
# Copyright (c) 2016 by TAOS Technologies, Inc.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# This file is proprietary and confidential to TAOS Technologies.
|
||||||
|
# No part of this file may be reproduced, stored, transmitted,
|
||||||
|
# disclosed or used in any form or by any means other than as
|
||||||
|
# expressly provided by the written permission from Jianhui Tao
|
||||||
|
#
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import taos
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class taosdemoQueryPerformace:
|
||||||
|
def initConnection(self):
|
||||||
|
self.host = "127.0.0.1"
|
||||||
|
self.user = "root"
|
||||||
|
self.password = "taosdata"
|
||||||
|
self.config = "/etc/taos"
|
||||||
|
self.conn = taos.connect(
|
||||||
|
self.host,
|
||||||
|
self.user,
|
||||||
|
self.password,
|
||||||
|
self.config)
|
||||||
|
|
||||||
|
|
||||||
|
def query(self):
|
||||||
|
cursor = self.conn.cursor()
|
||||||
|
cursor.execute("use test")
|
||||||
|
|
||||||
|
totalTime = 0
|
||||||
|
for i in range(100):
|
||||||
|
startTime = time.time()
|
||||||
|
cursor.execute("select count(*) from test.meters")
|
||||||
|
totalTime += time.time() - startTime
|
||||||
|
print("query time for: select count(*) from test.meters %f seconds" % (totalTime / 100))
|
||||||
|
|
||||||
|
totalTime = 0
|
||||||
|
for i in range(100):
|
||||||
|
startTime = time.time()
|
||||||
|
cursor.execute("select avg(f1), max(f2), min(f3) from test.meters")
|
||||||
|
totalTime += time.time() - startTime
|
||||||
|
print("query time for: select avg(f1), max(f2), min(f3) from test.meters %f seconds" % (totalTime / 100))
|
||||||
|
|
||||||
|
totalTime = 0
|
||||||
|
for i in range(100):
|
||||||
|
startTime = time.time()
|
||||||
|
cursor.execute("select count(*) from test.meters where loc='beijing'")
|
||||||
|
totalTime += time.time() - startTime
|
||||||
|
print("query time for: select count(*) from test.meters where loc='beijing' %f seconds" % (totalTime / 100))
|
||||||
|
|
||||||
|
totalTime = 0
|
||||||
|
for i in range(100):
|
||||||
|
startTime = time.time()
|
||||||
|
cursor.execute("select avg(f1), max(f2), min(f3) from test.meters where areaid=10")
|
||||||
|
totalTime += time.time() - startTime
|
||||||
|
print("query time for: select avg(f1), max(f2), min(f3) from test.meters where areaid=10 %f seconds" % (totalTime / 100))
|
||||||
|
|
||||||
|
totalTime = 0
|
||||||
|
for i in range(100):
|
||||||
|
startTime = time.time()
|
||||||
|
cursor.execute("select avg(f1), max(f2), min(f3) from test.t10 interval(10s)")
|
||||||
|
totalTime += time.time() - startTime
|
||||||
|
print("query time for: select avg(f1), max(f2), min(f3) from test.t10 interval(10s) %f seconds" % (totalTime / 100))
|
||||||
|
|
||||||
|
totalTime = 0
|
||||||
|
for i in range(100):
|
||||||
|
startTime = time.time()
|
||||||
|
cursor.execute("select last_row(*) from meters")
|
||||||
|
totalTime += time.time() - startTime
|
||||||
|
print("query time for: select last_row(*) from meters %f seconds" % (totalTime / 100))
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
perftest = taosdemoQueryPerformace()
|
||||||
|
perftest.initConnection()
|
||||||
|
perftest.query()
|
Loading…
Reference in New Issue