From c4812f91a91e53287f6e8f4f224d6c28a98c89f9 Mon Sep 17 00:00:00 2001 From: Ping Xiao Date: Mon, 22 Jun 2020 15:16:43 +0800 Subject: [PATCH] [TD-632]: keep inserting data into database --- tests/pytest/insert/writeDBNonStop.py | 81 +++++++++++++++++++++++++++ tests/pytest/insert/writeDBNonStop.sh | 42 ++++++++++++++ tests/pytest/query/querytest.py | 57 ------------------- 3 files changed, 123 insertions(+), 57 deletions(-) create mode 100644 tests/pytest/insert/writeDBNonStop.py create mode 100644 tests/pytest/insert/writeDBNonStop.sh delete mode 100644 tests/pytest/query/querytest.py diff --git a/tests/pytest/insert/writeDBNonStop.py b/tests/pytest/insert/writeDBNonStop.py new file mode 100644 index 0000000000..0af21bff85 --- /dev/null +++ b/tests/pytest/insert/writeDBNonStop.py @@ -0,0 +1,81 @@ +################################################################### +# 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 taos +import time +from datetime import datetime +import csv + + +class DBWriteNonStop: + def __init__(self): + self.host = "127.0.0.1" + self.user = "root" + self.password = "taosdata" + self.config = "/etc/taos" + + def connectDB(self): + self.conn = taos.connect( + self.host, + self.user, + self.password, + self.config) + self.cursor = self.conn.cursor() + + def createTable(self): + self.cursor.execute("drop database if exists dbwrite") + self.cursor.execute("create database dbwrite") + self.cursor.execute("use dbwrite") + self.cursor.execute( + "create table if not exists st (ts timestamp, value nchar(50), speed int) tags(dev nchar(50))") + + def writeDataToCSVFile(self, data, duration): + csvFile = open('csvFile.csv', 'a', newline='') + writer = csv.writer(csvFile) + writer.writerow([data[0][0], data[0][1], data[0][2], + data[0][3], data[0][4], data[0][5], duration]) + csvFile.close() + + def insertData(self): + i = 1 + startTime = datetime.now() + while True: + self.cursor.execute( + "insert into st1 using st tags('dev_001') values(now, 'taosdata%d', %d)" % + (i % + 10000, + i % + 100000)) + i += 1 + i = i % 32000000 + endTime = datetime.now() + if (endTime - startTime).seconds >= 10 * 2: + startTime = endTime + start = datetime.now() + self.cursor.execute( + "select first(ts), last(ts), min(speed), max(speed), avg(speed), count(*) from st") + data = self.cursor.fetchall() + end = datetime.now() + self.writeDataToCSVFile(data, (end - start).seconds) + time.sleep(.001) + + def closeConn(self): + self.cursor.close() + self.conn.close() + +test = DBWriteNonStop() +test.connectDB() +test.createTable() +test.insertData() +test.closeConn() \ No newline at end of file diff --git a/tests/pytest/insert/writeDBNonStop.sh b/tests/pytest/insert/writeDBNonStop.sh new file mode 100644 index 0000000000..57e6a93efd --- /dev/null +++ b/tests/pytest/insert/writeDBNonStop.sh @@ -0,0 +1,42 @@ +#!/bin/bash +ulimit -c unlimited + +function buildTDengine { + cd /root/TDengine + + git remote update + REMOTE_COMMIT=`git rev-parse --short remotes/origin/develop` + LOCAL_COMMIT=`git rev-parse --short @` + + echo " LOCAL: $LOCAL_COMMIT" + echo "REMOTE: $REMOTE_COMMIT" + if [ "$LOCAL_COMMIT" == "$REMOTE_COMMIT" ]; then + echo "repo up-to-date" + else + echo "repo need to pull" + git pull + + LOCAL_COMMIT=`git rev-parse --short @` + cd debug + rm -rf * + cmake .. + make > /dev/null + make install + fi +} + +function restartTaosd { + systemctl stop taosd + pkill -KILL -x taosd + sleep 10 + + rm -rf /var/lib/taos/data/* + rm -rf /var/lib/taos/log/* + + taosd 2>&1 > /dev/null & + sleep 10 +} + +buildTDengine +restartTaosd +python3 insert/writeDBNonStop.py \ No newline at end of file diff --git a/tests/pytest/query/querytest.py b/tests/pytest/query/querytest.py deleted file mode 100644 index d506888448..0000000000 --- a/tests/pytest/query/querytest.py +++ /dev/null @@ -1,57 +0,0 @@ -################################################################### -# 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 taos -import time -from datetime import datetime - -class DBWriteNonStop: - def __init__(self): - self.host = "127.0.0.1" - self.user = "root" - self.password = "taosdata" - self.config = "/etc/taos" - - def connectDB(self): - self.conn = taos.connect(self.host, self.user, self.password, self.config) - self.cursor = self.conn.cursor() - - def createTable(self): - self.cursor.execute("drop database if exists dbwrite") - self.cursor.execute("create database dbwrite") - self.cursor.execute("use dbwrite") - self.cursor.execute("create table if not exists st (ts timestamp, value nchar(50), speed int) tags(dev nchar(50))") - - def insertData(self): - i = 1 - startTime = datetime.now() - while True: - self.cursor.execute("insert into st1 using st tags('dev_001') values(now, 'taosdata%d', %d)" % (i % 10000, i % 100000)) - i += 1 - i = i % 32000000 - endTime = datetime.now() - if (endTime - startTime).seconds >= 5 * 2: - startTime = endTime - self.cursor.execute("select last(ts) from st >> output.txt") - self.cursor.execute("select count(*) from st >> output.txt") - time.sleep(.001) - - def closeConn(self): - self.cursor.close() - self.conn.close() - -test = DBWriteNonStop() -test.connectDB() -test.createTable() -test.insertData() -test.closeConn() \ No newline at end of file -- GitLab