diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_MixTbRows.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_MixTbRows.jmx new file mode 100644 index 0000000000000000000000000000000000000000..bbc1e5a27a857a8d374e935b41e91a614c48dc4b --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_MixTbRows.jmx @@ -0,0 +1,209 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 100 + + false + + + true + + + + true + + + + false + {"metric": "cpu.usage_user.rows", "timestamp":${ts_counter}, "value":32.261068286779754, "tags":{"arch":"x64","datacenter":"us-west-1b","hostname":"host_5","os":"Ubuntu16","rack":"13","region":"us-west-1","service":"10","service_environment":"staging","service_version":"${rows_counter}","team":"NYC"}} + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/json/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + 1614530008000 + + 1 + ts_counter + + false + + + + 1 + row_count + 1 + rows_counter + + false + + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_createStb.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_createStb.jmx new file mode 100644 index 0000000000000000000000000000000000000000..11f0ed8f64a51aee50be99cc4ee8f1b7450b34e8 --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_createStb.jmx @@ -0,0 +1,191 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 100 + + false + + + true + + + + true + + + + false + {"metric": "cpu.usage_user_${__Random(1,100000,)}_${__Random(1,100000,)}_${__Random(1,100000,)}", "timestamp":1626006833640, "value":32.261068286779754, "tags":{"arch":"x64","datacenter":"us-west-1b","hostname":"host_5","os":"Ubuntu16","rack":"13","region":"us-west-1","service":"10","service_environment":"staging","service_version":"0","team":"NYC"}} + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/json/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_createTb.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_createTb.jmx new file mode 100644 index 0000000000000000000000000000000000000000..053480dc47a9c26cd5faf0b0fb277c3fa060b87d --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_createTb.jmx @@ -0,0 +1,191 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 100 + + false + + + true + + + + true + + + + false + {"metric": "cpu.usage_user", "timestamp":1626006833640, "value":32.261068286779754, "tags":{"arch":"x64","datacenter":"us-west-1b","hostname":"host_5","os":"Ubuntu16","rack":"${__Random(1,100000,)}","region":"us-west-1","service":"${__Random(1,100000,)}","service_environment":"staging","service_version":"${__Random(1,100000,)}","team":"NYC"}} + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/json/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_insertRows.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_insertRows.jmx new file mode 100644 index 0000000000000000000000000000000000000000..be8b8bdc2b8491b6f1689ad45b31e026dcae6f23 --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_insertRows.jmx @@ -0,0 +1,200 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 24 + + false + + + true + + + + true + + + + false + {"metric": "cpu.usage_user.rows", "timestamp":${ts_counter}, "value":32.261068286779754, "tags":{"arch":"x64","datacenter":"us-west-1b","hostname":"host_5","os":"Ubuntu16","rack":"13","region":"us-west-1","service":"10","service_environment":"staging","service_version":"0","team":"NYC"}} + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/json/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + 1614530008000 + + 1 + ts_counter + + false + + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_jmeter_csv_import.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_jmeter_csv_import.jmx new file mode 100644 index 0000000000000000000000000000000000000000..7192421de4ca8f88f86226852bbe7242423efe65 --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_json_jmeter_csv_import.jmx @@ -0,0 +1,203 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 100 + + false + + + true + + + + true + + + + false + {"metric": "cpu.usage_user.rows", "timestamp":${ts_csv_count}, "value":32.261068286779754, "tags":{"arch":"x64","datacenter":"us-west-1b","hostname":"host_5","os":"Ubuntu16","rack":"13","region":"us-west-1","service":"10","service_environment":"staging","service_version":"${row_csv_count}","team":"NYC"}} + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/json/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + , + UTF-8 + import_file_name + false + false + true + shareMode.all + false + ts_csv_count,row_csv_count + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_MixTbRows.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_MixTbRows.jmx new file mode 100644 index 0000000000000000000000000000000000000000..0b001cd57776deaf0fc1268ac13bab72c50faafa --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_MixTbRows.jmx @@ -0,0 +1,209 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 100 + + false + + + true + + + + true + + + + false + cpu.usage_user.rows ${ts_counter} 22.345567 arch=x64 datacenter=us-west-1b hostname=host_5 os=Ubuntu16 rack=13 region=us-west-1 service=10 service_environment=staging service_version=${rows_counter} team=NYC + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/telnet/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + 1614530008000 + + 1 + ts_counter + + false + + + + 1 + row_count + 1 + rows_counter + + false + + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_createStb.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_createStb.jmx new file mode 100644 index 0000000000000000000000000000000000000000..0a7a6aad4790bb0e8dca56f58eb8ef447ebe1f89 --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_createStb.jmx @@ -0,0 +1,191 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 100 + + false + + + true + + + + true + + + + false + cpu.usage_user_${__Random(1,100000,)}_${__Random(1,100000,)}_${__Random(1,100000,)} 1626006833640 32.261068286779754 arch=x64 datacenter=us-west-1b hostname=host_5 os=Ubuntu16 rack=13 region=us-west-1 service=10 service_environment=staging service_version=0 team=NYC + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/telnet/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_createTb.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_createTb.jmx new file mode 100644 index 0000000000000000000000000000000000000000..6e7a8268f092c13ddf3e1896702aa23fe94221d0 --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_createTb.jmx @@ -0,0 +1,191 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 100 + + false + + + true + + + + true + + + + false + cpu.usage_user 1626006833640 32.261068286779754 arch=x64 datacenter=us-west-1b hostname=host_5 os=Ubuntu16 rack=${__Random(1,100000,)} region=us-west-1 service=${__Random(1,100000,)} service_environment=staging service_version=${__Random(1,100000,)} team=NYC + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/telnet/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_insertRows.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_insertRows.jmx new file mode 100644 index 0000000000000000000000000000000000000000..eb86c0b2fc1b307fae1881f278fde9c5f0ed27b8 --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_insertRows.jmx @@ -0,0 +1,200 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 24 + + false + + + true + + + + true + + + + false + cpu.usage_user.rows ${ts_counter} 22.345567 arch=x64 datacenter=us-west-1b hostname=host_5 os=Ubuntu16 rack=13 region=us-west-1 service=10 service_environment=staging service_version=0 team=NYC + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/telnet/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + 1614530008000 + + 1 + ts_counter + + false + + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_jmeter_csv_import.jmx b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_jmeter_csv_import.jmx new file mode 100644 index 0000000000000000000000000000000000000000..672c377fcad2e988443efa28ae10c0b3c09152be --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/opentsdb_telnet_jmeter_csv_import.jmx @@ -0,0 +1,203 @@ + + + + + + false + true + false + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + true + + + + true + + + + false + create database if not exists test precision 'ms' + = + + + + + + + + http://192.168.1.85:6041/rest/sql + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + continue + + false + looptimes + + 100 + + false + + + true + + + + true + + + + false + cpu.usage_user.rows ${ts_csv_count} 22.345567 arch=x64 datacenter=us-west-1b hostname=host_5 os=Ubuntu16 rack=13 region=us-west-1 service=10 service_environment=staging service_version=${row_csv_count} team=NYC + = + + + + + + + + http://192.168.1.85:6041/opentsdb/v1/put/telnet/test + POST + true + false + true + false + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + + Authorization + Basic cm9vdDp0YW9zZGF0YQ== + + + + + + + , + UTF-8 + import_file_name + false + false + true + shareMode.all + false + ts_csv_count,row_csv_count + + + + + diff --git a/tests/perftest-scripts/taosadapter_perftest/taosadapter_perftest.py b/tests/perftest-scripts/taosadapter_perftest/taosadapter_perftest.py new file mode 100644 index 0000000000000000000000000000000000000000..480c25206065fc62a53156e899c213f8e2b487db --- /dev/null +++ b/tests/perftest-scripts/taosadapter_perftest/taosadapter_perftest.py @@ -0,0 +1,224 @@ +from fabric import Connection +from loguru import logger +import shutil +import os +import time + +class TaosadapterPerftest(): + def __init__(self): + self.ip = "192.168.1.85" + self.port = "22" + self.user = "root" + self.passwd = "tbase125!" + self.telnetCreateStbJmxFile = "opentsdb_telnet_createStb.jmx" + self.telnetCreateTbJmxFile = "opentsdb_telnet_createTb.jmx" + self.telnetInsertRowsFile = "opentsdb_telnet_insertRows.jmx" + # self.telnetMixJmxFile = "opentsdb_telnet_MixTbRows.jmx" + self.telnetMixJmxFile = "opentsdb_telnet_jmeter_csv_import.jmx" + + self.jsonCreateStbJmxFile = "opentsdb_json_createStb.jmx" + self.jsonCreateTbJmxFile = "opentsdb_json_createTb.jmx" + self.jsonInsertRowsFile = "opentsdb_json_insertRows.jmx" + # self.jsonMixJmxFile = "opentsdb_json_MixTbRows.jmx" + self.jsonMixJmxFile = "opentsdb_json_jmeter_csv_import.jmx" + + self.logfile = "taosadapter_perftest.log" + self.createStbThreads = 100 + self.createTbThreads = 100 + self.insertRowsThreads = 24 + + logger.add(self.logfile) + + def exec_remote_cmd(self, cmd): + """ + remote exec shell cmd + """ + try: + c = Connection(self.ip, user=self.user, port=self.port, connect_timeout=120, connect_kwargs={"password": self.passwd}) + result = c.run(cmd, pty=False, warn=True, hide=True).stdout + c.close() + return result + except Exception as e: + logger.error(f"exec cmd {cmd} failed:{e}"); + + def exec_local_cmd(self, shell_cmd): + ''' + exec local shell cmd + ''' + result = os.popen(shell_cmd).read().strip() + return result + + def modifyJxmLooptimes(self, filename, looptimes, row_count=None, import_file_name=None): + ''' + modify looptimes + ''' + with open(filename, "r", encoding="utf-8") as f: + lines = f.readlines() + with open(filename, "w", encoding="utf-8") as f_w: + for line in lines: + if "looptimes" in line: + line = line.replace("looptimes", looptimes) + if row_count is not None: + if "row_count" in line: + line = line.replace("row_count", row_count) + if import_file_name is not None: + if "import_file_name" in line: + line = line.replace("import_file_name", import_file_name) + f_w.write(line) + + def cleanAndRestartTaosd(self): + ''' + restart taosd and clean env + ''' + logger.info("---- restarting taosd and taosadapter ----") + self.exec_remote_cmd("systemctl stop taosd") + self.exec_remote_cmd("rm -rf /var/lib/taos/* /var/log/taos/*") + self.exec_remote_cmd("systemctl start taosd") + logger.info("---- finish restart ----") + time.sleep(60) + + def recreateReportDir(self, path): + ''' + recreate jmeter report path + ''' + if os.path.exists(path): + self.exec_local_cmd(f'rm -rf {path}/*') + else: + os.makedirs(path) + + def cleanLog(self): + ''' + clean log + ''' + with open(self.logfile, 'w') as f: + f.seek(0) + f.truncate() + + def genMixTbRows(self, filename, table_count, row_count): + logger.info('generating import data file') + ts_start = 1614530008000 + with open(filename, "w", encoding="utf-8") as f_w: + for i in range(table_count): + for j in range(row_count): + input_line = str(ts_start) + "," + str(i) + '\n' + ts_start += 1 + f_w.write(input_line) + + def outputParams(self, protocol, create_type): + ''' + procotol is "telnet" or "json" + create_type is "stb" or "tb" or "rows" + ''' + if protocol == "telnet": + if create_type == "stb": + return self.telnetCreateStbJmxFile, self.createStbThreads + elif create_type == "tb": + return self.telnetCreateTbJmxFile, self.createTbThreads + elif create_type == "rows": + return self.telnetInsertRowsFile, self.insertRowsThreads + else: + logger.error("create type error!") + else: + if create_type == "stb": + return self.jsonCreateStbJmxFile, self.createStbThreads + elif create_type == "tb": + return self.jsonCreateTbJmxFile, self.createTbThreads + elif create_type == "rows": + return self.jsonInsertRowsFile, self.insertRowsThreads + else: + logger.error("create type error!") + + def insertTDengine(self, procotol, create_type, count): + ''' + create stb/tb or insert rows + ''' + self.cleanAndRestartTaosd() + jmxfile, threads = self.outputParams(procotol, create_type) + handle_file = str(count) + jmxfile + report_dir = f'testreport/{handle_file}' + self.recreateReportDir(report_dir) + shutil.copyfile(jmxfile, handle_file) + replace_count = int(count/threads) + self.modifyJxmLooptimes(handle_file, str(replace_count)) + logger.info(f'jmeter running ----- jmeter -n -t {handle_file} -l {report_dir}/{handle_file}.txt -e -o {report_dir}') + result = self.exec_local_cmd(f"jmeter -n -t {handle_file} -l {report_dir}/{handle_file}.txt -e -o {report_dir}") + logger.info(result) + logger.info("----- sleep 120s and please record data -----") + time.sleep(120) + + def insertMixTbRows(self, procotol, table_count, row_count): + self.cleanAndRestartTaosd() + local_path = os.getcwd() + jmxfile = f"opentsdb_{procotol}_{table_count}Tb{row_count}Rows.jmx" + import_file_name = f"import_opentsdb_{procotol}_{table_count}Tb{row_count}Rows.txt" + import_file_path = local_path + '/' + import_file_name + self.genMixTbRows(import_file_name, table_count, row_count) + report_dir = f'testreport/{jmxfile}' + self.recreateReportDir(report_dir) + if procotol == "telnet": + shutil.copyfile(self.telnetMixJmxFile, jmxfile) + else: + shutil.copyfile(self.jsonMixJmxFile, jmxfile) + self.modifyJxmLooptimes(jmxfile, str(int(table_count*row_count/100)), import_file_name=import_file_path) + logger.info(f'jmeter running ----- jmeter -n -t {jmxfile} -l {report_dir}/{jmxfile}.txt -e -o {report_dir}') + result = self.exec_local_cmd(f"jmeter -n -t {jmxfile} -l {report_dir}/{jmxfile}.txt -e -o {report_dir}") + logger.info(result) + logger.info("----- sleep 120s and please record data -----") + time.sleep(120) + + # def insertMixTbRows(self, procotol, looptimes, row_count): + # self.cleanAndRestartTaosd() + # jmxfile = f"opentsdb_{procotol}_{looptimes}Tb100Rows.jmx" + # report_dir = f'testreport/{jmxfile}' + # self.recreateReportDir(report_dir) + # if procotol == "telnet": + # shutil.copyfile(self.telnetMixJmxFile, jmxfile) + # else: + # shutil.copyfile(self.jsonMixJmxFile, jmxfile) + + # self.modifyJxmLooptimes(jmxfile, str(looptimes), str(row_count)) + # result = self.exec_local_cmd(f"jmeter -n -t {jmxfile} -l {report_dir}/{jmxfile}.txt -e -o {report_dir}") + # logger.info(result) + # logger.info("----- sleep 120s and please record data -----") + # time.sleep(120) + + + +if __name__ == '__main__': + taosadapterPerftest = TaosadapterPerftest() + taosadapterPerftest.cleanLog() + + logger.info('------------ Start testing the scenarios in the report chapter 3.4.1 ------------') + for procotol in ["telnet", "json"]: + logger.info(f'----- {procotol} protocol ------- Creating 30W stable ------------') + taosadapterPerftest.insertTDengine(procotol, "stb", 300000) + logger.info(f'----- {procotol} protocol ------- Creating 100W table with stb "cpu.usage_user" ------------') + taosadapterPerftest.insertTDengine(procotol, "tb", 1000000) + logger.info(f'----- {procotol} protocol ------- inserting 100W rows ------------') + taosadapterPerftest.insertTDengine(procotol, "rows", 1000000) + + logger.info(f'----- {procotol} protocol ------- Creating 50W stable ------------') + taosadapterPerftest.insertTDengine(procotol, "stb", 500000) + logger.info(f'----- {procotol} protocol ------- Creating 500W table with stb "cpu.usage_user" ------------') + taosadapterPerftest.insertTDengine(procotol, "tb", 5000000) + logger.info(f'----- {procotol} protocol ------- inserting 500W rows ------------') + taosadapterPerftest.insertTDengine(procotol, "rows", 5000000) + + logger.info(f'----- {procotol} protocol ------- Creating 100W stable ------------') + taosadapterPerftest.insertTDengine(procotol, "stb", 1000000) + logger.info(f'----- {procotol} protocol ------- Creating 1000W table with stb "cpu.usage_user" ------------') + taosadapterPerftest.insertTDengine(procotol, "tb", 10000000) + logger.info(f'----- {procotol} protocol ------- inserting 1000W rows ------------') + taosadapterPerftest.insertTDengine(procotol, "rows", 10000000) + + logger.info(f'----- {procotol} protocol ------- Creating 10W stable 1000Rows ------------') + taosadapterPerftest.insertMixTbRows(procotol, 100000, 1000) + + logger.info(f'----- {procotol} protocol ------- Creating 100W stable 100Rows ------------') + taosadapterPerftest.insertMixTbRows(procotol, 1000000, 100) + + logger.info(f'----- {procotol} protocol ------- Creating 500W stable 20Rows ------------') + taosadapterPerftest.insertMixTbRows(procotol, 5000000, 20) + + logger.info(f'----- {procotol} protocol ------- Creating 1000W stable 10Rows ------------') + taosadapterPerftest.insertMixTbRows(procotol, 10000000, 10)