Klustron(原KunlunBase) TPC-H 和 TPC-DS 测试结果
大约 4 分钟
Klustron(原KunlunBase) TPC-H 和 TPC-DS 测试结果
前言
Klustron 是 HTAP 分布式数据库,在 OLTP 方面 Klustron 具有极致的性能(Klustron 与 OceanBase 对比 TPC-C 结果、Klustron 和 TiDB 的 TPC-C 测试对比),在 OLAP 方面 Klustron 也具备完整的功能,那么 Klustron 在 OLAP 方面性能如何呢?本文就是我们对 Klustron-1.1.1 做 TPC-H 和 TPC-DS 的性能测试结果。
我们对每个测例设置超时时间是 1200 秒,超过则自动停止改测例。因此有少量测例发生了超时。如果给更多时间,或者数据量较小,则这些测例都可以通过。
Klustron 未来会持续改进 OLAP 查询性能,确保所有这些目前超时的查询都可以有更好的性能。
测试服务器说明:
IP | CPU | Memory | Disk | Operation System |
---|---|---|---|---|
132(enp5s0) | AMD Ryzen 9 5950X 16 cores 32 threads | 128G | 2T.m2 + 1T.m2 + 4THDD | Centos8.3 |
134(enp5s0) | AMD Ryzen 9 5950X 16 cores 32 threads | 128G | 2T.m2 + 1T.m2 + 4THDD | Centos8.3 |
140(enp5s0) | AMD Ryzen 9 5950X 16 cores 32 threads | 64G | 1T.m2 + 1T.m2 | Centos8.3 |
测试说明:
本次 TPC-DS 及 TPC-H 测试都灌 10G 数据。
在灌完 10G 数据后,需要对所有表进入 analyze 操作,可以使用以下脚本快速完成
echo 'show tables;' > tmp.sql
for i in `psql postgres://abc:abc@ip:port/tpcds -f tmp.sql | sed '1,2d' | sed '$d' | sed '$d'`
do
echo "select * from $i limit 1;" > a.sql
clomun=`psql postgres://abc:abc@ ip:port /tpcds -f a.sql | sed -n 1p | sed 's/|/,/g'`
analyze="analyze $i($clomun)"
echo $analyze; echo $analyze > tmp.sql
psql postgres://abc:abc@192.168.0.132:35001/tpcds -f tmp.sql
done
集群说明:
- 集群模式为 rbr;
- 三台服务器各部署一个 Cluster_mgr、Node_mgr、计算节点、元数据节点;
- 三台服务器上部署两个存储分片,其中132和134上各一个主;
- 每个存储分片都以一主两备的形式存在。
集群配置说明:
{
"comp":[{
"statement_timeout":1200000,
"mysql_read_timeout":1200,
"mysql_write_timeout":1200,
"lock_timeout":1200000,
"autovacuum": "off",
"log_min_duration_statement":1200000
}
],
"metadata":[{
"lock_wait_timeout":1200,
"innodb_lock_wait_timeout":1200
}
],
"storage":[{
"lock_wait_timeout":1200,
"innodb_lock_wait_timeout":1200,
"fullsync_timeout":1200,
"enable_fullsync": "OFF",
"innodb_flush_log_at_trx_commit": 0,
"sync_binlog": 0,
"innodb_buffer_pool_size": "10*1024*1024*1024",
"max_binlog_size": "1*1024*1024*1024"
}
]
}
TPC-H 结果:
sql | result | cost | error |
---|---|---|---|
Q1 | succ | 147.86 | |
Q2 | fail | 1200.01 | psql:query/2.sql:47: ERROR: canceling statement due to statement timeout |
Q3 | succ | 32.63 | |
Q4 | succ | 28.82 | |
Q5 | succ | 49.18 | |
Q6 | succ | 18.07 | |
Q7 | succ | 29.88 | |
Q8 | succ | 56.75 | |
Q9 | succ | 105.17 | |
Q10 | succ | 30.52 | |
Q11 | succ | 7.67 | |
Q12 | succ | 28.27 | |
Q13 | succ | 14.72 | |
Q14 | succ | 19.07 | |
Q15 | succ | 38.29 | |
Q16 | succ | 10.65 | |
Q17 | succ | 85.78 | |
Q18 | succ | 100.61 | |
Q19 | succ | 21.61 | |
Q20 | succ | 37.63 | |
Q21 | fail | 1200.07 | psql:query/21.sql:43: ERROR: canceling statement due to statement timeout |
Q22 | succ | 6.97 |
TPC-DS 结果:
sql | result | cost | error |
---|---|---|---|
Q1 | fail | 1199.99 | psql:query/q1.sql:22: ERROR: canceling statement due to statement timeout |
Q2 | succ | 33.47 | |
Q3 | succ | 13.15 | |
Q4 | fail | 1206.71 | psql:query/q4.sql:113: ERROR: canceling statement due to statement timeout |
Q5 | succ | 35.67 | |
Q6 | fail | 1199.99 | psql:query/q6.sql:23: ERROR: canceling statement due to statement timeout |
Q7 | succ | 36.00 | |
Q8 | succ | 15.79 | |
Q9 | succ | 78.69 | |
Q10 | succ | 37.90 | |
Q11 | succ | 607.60 | |
Q12 | succ | 3.17 | |
Q13 | succ | 15.21 | |
Q14 | fail | 1199.99 | psql:query/q14.sql:105: ERROR: canceling statement due to statement timeout |
Q15 | succ | 34.71 | |
Q16 | succ | 0.11 | |
Q17 | succ | 73.08 | |
Q18 | fail | 1199.99 | psql:query/q18.sql:35: ERROR: canceling statement due to statement timeout |
Q19 | fail | 1199.99 | psql:query/q19.sql:26: ERROR: canceling statement due to statement timeout |
Q20 | succ | 10.08 | |
Q21 | succ | 42.76 | |
Q22 | succ | 165.87 | |
Q23 | succ | 194.73 | |
Q24 | succ | 29.57 | |
Q25 | fail | 1222.80 | psql:query/q25.sql:49: ERROR: canceling statement due to statement timeout |
Q26 | fail | 1200.00 | psql:query/q26.sql:22: ERROR: canceling statement due to statement timeout |
Q27 | succ | 0.06 | |
Q28 | succ | 52.84 | |
Q29 | fail | 1199.99 | psql:query/q29.sql:48: ERROR: canceling statement due to statement timeout |
Q30 | fail | 1200.00 | psql:query/q30.sql:32: ERROR: canceling statement due to statement timeout |
Q31 | succ | 125.51 | |
Q32 | fail | 1199.99 | psql:query/q32.sql:29: ERROR: canceling statement due to statement timeout |
Q33 | succ | 27.31 | |
Q34 | succ | 11.47 | |
Q35 | succ | 19.57 | |
Q36 | succ | 85.41 | |
Q37 | succ | 41.47 | |
Q38 | succ | 126.61 | |
Q39 | succ | 213.64 | |
Q40 | succ | 8.29 | |
Q41 | succ | 39.71 | |
Q42 | succ | 243.83 | |
Q43 | succ | 67.13 | |
Q44 | succ | 32.96 | |
Q45 | succ | 4.31 | |
Q46 | succ | 23.64 | |
Q47 | succ | 59.03 | |
Q48 | succ | 15.10 | |
Q49 | succ | 25.74 | |
Q50 | fail | 1199.99 | psql:query/q50.sql:60: ERROR: canceling statement due to statement timeout |
Q51 | succ | 38.30 | |
Q52 | succ | 244.98 | |
Q53 | succ | 13.55 | |
Q54 | succ | 164.25 | |
Q55 | succ | 126.09 | |
Q56 | succ | 34.33 | |
Q57 | succ | 29.45 | |
Q58 | succ | 21.54 | |
Q59 | succ | 53.23 | |
Q60 | succ | 25.27 | |
Q61 | fail | 1199.99 | psql:query/q61.sql:45: ERROR: canceling statement due to statement timeout |
Q62 | succ | 12.35 | |
Q63 | succ | 14.06 | |
Q64 | succ | 42.16 | |
Q65 | succ | 44.58 | |
Q66 | succ | 16.99 | |
Q67 | succ | 99.05 | |
Q68 | succ | 28.37 | |
Q69 | succ | 56.41 | |
Q70 | succ | 106.87 | |
Q71 | succ | 21.69 | |
Q72 | fail | 1200.10 | psql:query/q72.sql:30: ERROR: canceling statement due to statement timeout |
Q73 | succ | 0.24 | |
Q74 | fail | 1200.05 | psql:query/q74.sql:62: ERROR: canceling statement due to statement timeout |
Q75 | succ | 59.52 | |
Q76 | succ | 14.52 | |
Q77 | fail | 0.00 | psql:query/q77.sql:109: ERROR: syntax error at or near "returns" |
Q78 | succ | 229.67 | |
Q79 | succ | 25.25 | |
Q80 | succ | 29.31 | |
Q81 | succ | 0.42 | |
Q82 | succ | 53.84 | |
Q83 | succ | 0.91 | |
Q84 | succ | 2.89 | |
Q85 | succ | 76.26 | |
Q86 | succ | 6.56 | |
Q87 | succ | 123.08 | |
Q88 | fail | 1200.10 | psql:query/q88.sql:95: ERROR: canceling statement due to statement timeout |
Q89 | succ | 38.94 | |
Q90 | succ | 17.84 | |
Q91 | succ | 1.86 | |
Q92 | succ | 687.43 | |
Q93 | succ | 16.96 | |
Q94 | succ | 467.21 | |
Q95 | fail | 1200.24 | psql:query/q95.sql:33: ERROR: canceling statement due to statement timeout |
Q96 | succ | 1101.59 | |
Q97 | succ | 25.18 | |
Q98 | succ | 12.29 | |
Q99 | succ | 15.71 |