Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
97b3cdb0
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
97b3cdb0
编写于
3月 30, 2021
作者:
P
Ping Xiao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-3602]<test>: update perf test script
上级
1a8d6283
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
50 addition
and
81 deletion
+50
-81
tests/perftest-scripts/perftest-query.sh
tests/perftest-scripts/perftest-query.sh
+1
-14
tests/pytest/tools/taosdemoPerformance.py
tests/pytest/tools/taosdemoPerformance.py
+49
-67
未找到文件。
tests/perftest-scripts/perftest-query.sh
浏览文件 @
97b3cdb0
...
...
@@ -71,21 +71,8 @@ function runQueryPerfTest {
python3 query/queryPerformance.py
-c
$LOCAL_COMMIT
|
tee
-a
$PERFORMANCE_TEST_REPORT
python3 insert/insertFromCSVPerformance.py
-c
$LOCAL_COMMIT
|
tee
-a
$PERFORMANCE_TEST_REPORT
taosdemo
-f
/home/ubuntu/pxiao/insert.json
>
taosdemoperf.txt
CREATETABLETIME
=
`
grep
'Spent'
taosdemoperf.txt |
awk
'NR==1{print $2}'
`
INSERTRECORDSTIME
=
`
grep
'Spent'
taosdemoperf.txt |
awk
'NR==2{print $2}'
`
REQUESTSPERSECOND
=
`
grep
'Spent'
taosdemoperf.txt |
awk
'NR==2{print $16}'
`
delay
=
`
grep
'delay'
taosdemoperf.txt |
awk
'{print $4}'
`
AVGDELAY
=
`
echo
${
delay
:0:
${#
delay
}
-3
}
`
delay
=
`
grep
'delay'
taosdemoperf.txt |
awk
'{print $6}'
`
MAXDELAY
=
`
echo
${
delay
:0:
${#
delay
}
-3
}
`
delay
=
`
grep
'delay'
taosdemoperf.txt |
awk
'{print $8}'
`
MINDELAY
=
`
echo
${
delay
:0:
${#
delay
}
-2
}
`
python3 tools/taosdemoPerformance.py
-c
$LOCAL_COMMIT
-t
$CREATETABLETIME
-i
$INSERTRECORDSTIME
-r
$REQUESTSPERSECOND
-avg
$AVGDELAY
-max
$MAXDELAY
-min
$MINDELAY
|
tee
-a
$PERFORMANCE_TEST_REPORT
[
-f
taosdemoperf.txt
]
&&
rm
taosdemoperf.txt
python3 tools/taosdemoPerformance.py
-c
$LOCAL_COMMIT
|
tee
-a
$PERFORMANCE_TEST_REPORT
}
...
...
tests/pytest/tools/taosdemoPerformance.py
浏览文件 @
97b3cdb0
...
...
@@ -11,26 +11,16 @@
# -*- coding: utf-8 -*-
import
sys
import
taos
import
time
import
datetime
import
csv
import
random
import
pandas
as
pd
import
argparse
import
os.path
import
json
class
taosdemoPerformace
:
def
__init__
(
self
,
commitID
,
dbName
,
createTableTime
,
insertRecordsTime
,
recordsPerSecond
,
avgDelay
,
maxDelay
,
minDelay
):
def
__init__
(
self
,
commitID
,
dbName
):
self
.
commitID
=
commitID
self
.
dbName
=
dbName
self
.
createTableTime
=
createTableTime
self
.
insertRecordsTime
=
insertRecordsTime
self
.
recordsPerSecond
=
recordsPerSecond
self
.
avgDelay
=
avgDelay
self
.
maxDelay
=
maxDelay
self
.
minDelay
=
minDelay
self
.
dbName
=
dbName
self
.
host
=
"127.0.0.1"
self
.
user
=
"root"
self
.
password
=
"taosdata"
...
...
@@ -69,11 +59,14 @@ class taosdemoPerformace:
"start_timestamp"
:
"2020-10-01 00:00:00.000"
,
"sample_format"
:
"csv"
,
"sample_file"
:
"./sample.csv"
,
"tags_file"
:
""
,
"columns"
:
[{
"columns"
:
[{
"type"
:
"INT"
,
"count"
:
4
}],
}],
"tags"
:
[{
"type"
:
"INT"
,
"count"
:
1
},
{
"type"
:
"BINARY"
,
"len"
:
16
}]
"tags_file"
:
""
,
"columns"
:
[
{
"type"
:
"INT"
,
"count"
:
4
}
],
"tags"
:
[
{
"type"
:
"INT"
,
"count"
:
1
},
{
"type"
:
"BINARY"
,
"len"
:
16
}
]
}
stables
=
[]
...
...
@@ -97,10 +90,35 @@ class taosdemoPerformace:
"confirm_parameter_prompt"
:
"no"
,
"insert_interval"
:
0
,
"num_of_records_per_req"
:
30000
,
"databases"
:
[
db
]
"databases"
:
[
db
]
}
return
insert_data
insert_json_file
=
f
"/tmp/insert.json"
with
open
(
insert_json_file
,
'w'
)
as
f
:
json
.
dump
(
insert_data
,
f
)
return
insert_json_file
def
getCMDOutput
(
self
,
cmd
):
cmd
=
os
.
popen
(
cmd
)
output
=
cmd
.
read
()
cmd
.
close
()
return
output
def
insertData
(
self
):
os
.
system
(
"taosdemo -f %s > taosdemoperf.txt"
%
self
.
generateJson
())
self
.
createTableTime
=
self
.
getCMDOutput
(
"grep 'Spent' taosdemoperf.txt | awk 'NR==1{print $2}'"
)
self
.
insertRecordsTime
=
self
.
getCMDOutput
(
"grep 'Spent' taosdemoperf.txt | awk 'NR==2{print $2}'"
)
self
.
recordsPerSecond
=
self
.
getCMDOutput
(
"grep 'Spent' taosdemoperf.txt | awk 'NR==2{print $16}'"
)
self
.
commitID
=
self
.
getCMDOutput
(
"git rev-parse --short HEAD"
)
delay
=
self
.
getCMDOutput
(
"grep 'delay' taosdemoperf.txt | awk '{print $4}'"
)
self
.
avgDelay
=
delay
[:
-
4
]
delay
=
self
.
getCMDOutput
(
"grep 'delay' taosdemoperf.txt | awk '{print $6}'"
)
self
.
maxDelay
=
delay
[:
-
4
]
delay
=
self
.
getCMDOutput
(
"grep 'delay' taosdemoperf.txt | awk '{print $8}'"
)
self
.
minDelay
=
delay
[:
-
3
]
os
.
system
(
"[ -f taosdemoperf.txt ] && rm taosdemoperf.txt"
)
def
createTablesAndStoreData
(
self
):
cursor
=
self
.
conn
.
cursor
()
...
...
@@ -109,13 +127,14 @@ class taosdemoPerformace:
cursor
.
execute
(
"use %s"
%
self
.
dbName
)
cursor
.
execute
(
"create table if not exists taosdemo_perf (ts timestamp, create_table_time float, insert_records_time float, records_per_second float, commit_id binary(50), avg_delay float, max_delay float, min_delay float)"
)
print
(
"==================== taosdemo performance ===================="
)
print
(
"create tables time: %f"
%
self
.
createTableTime
)
print
(
"insert records time: %f"
%
self
.
insertRecordsTime
)
print
(
"records per second: %f"
%
self
.
recordsPerSecond
)
print
(
"avg delay: %f"
%
self
.
avgDelay
)
print
(
"max delay: %f"
%
self
.
maxDelay
)
print
(
"min delay: %f"
%
self
.
minDelay
)
cursor
.
execute
(
"insert into taosdemo_perf values(now, %f, %f, %f, '%s', %f, %f, %f)"
%
(
self
.
createTableTime
,
self
.
insertRecordsTime
,
self
.
recordsPerSecond
,
self
.
commitID
,
self
.
avgDelay
,
self
.
maxDelay
,
self
.
minDelay
))
print
(
"create tables time: %f"
%
float
(
self
.
createTableTime
))
print
(
"insert records time: %f"
%
float
(
self
.
insertRecordsTime
))
print
(
"records per second: %f"
%
float
(
self
.
recordsPerSecond
))
print
(
"avg delay: %f"
%
float
(
self
.
avgDelay
))
print
(
"max delay: %f"
%
float
(
self
.
maxDelay
))
print
(
"min delay: %f"
%
float
(
self
.
minDelay
))
cursor
.
execute
(
"insert into taosdemo_perf values(now, %f, %f, %f, '%s', %f, %f, %f)"
%
(
float
(
self
.
createTableTime
),
float
(
self
.
insertRecordsTime
),
float
(
self
.
recordsPerSecond
),
self
.
commitID
,
float
(
self
.
avgDelay
),
float
(
self
.
maxDelay
),
float
(
self
.
minDelay
)))
cursor
.
execute
(
"drop database if exists %s"
%
self
.
insertDB
)
cursor
.
close
()
...
...
@@ -125,7 +144,7 @@ if __name__ == '__main__':
parser
.
add_argument
(
'-c'
,
'--commit-id'
,
action
=
'store'
,
action
=
'store'
,
type
=
str
,
help
=
'git commit id (default: null)'
)
parser
.
add_argument
(
...
...
@@ -135,46 +154,9 @@ if __name__ == '__main__':
default
=
'perf'
,
type
=
str
,
help
=
'Database name to be created (default: perf)'
)
parser
.
add_argument
(
'-t'
,
'--create-table'
,
action
=
'store'
,
type
=
float
,
help
=
'create table time'
)
parser
.
add_argument
(
'-i'
,
'--insert-records'
,
action
=
'store'
,
type
=
float
,
help
=
'insert records time'
)
parser
.
add_argument
(
'-r'
,
'---records-per-second'
,
action
=
'store'
,
type
=
float
,
help
=
'records per request'
)
parser
.
add_argument
(
'-avg'
,
'---avg-delay'
,
action
=
'store'
,
type
=
float
,
help
=
'avg delay'
)
parser
.
add_argument
(
'-max'
,
'---max-delay'
,
action
=
'store'
,
type
=
float
,
help
=
'max delay'
)
parser
.
add_argument
(
'-min'
,
'---min-delay'
,
action
=
'store'
,
type
=
float
,
help
=
'min delay'
)
args
=
parser
.
parse_args
()
perftest
=
taosdemoPerformace
(
args
.
commit_id
,
args
.
database_name
,
args
.
create_table
,
args
.
insert_records
,
args
.
records_per_second
,
args
.
avg_delay
,
args
.
max_delay
,
args
.
min_delay
)
perftest
=
taosdemoPerformace
(
args
.
commit_id
,
args
.
database_name
)
perftest
.
insertData
()
perftest
.
createTablesAndStoreData
()
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录