Skip to main content

Klustron TPC-H and TPC-DS test results

KlustronAbout 3 min

Klustron TPC-H and TPC-DS test results

foreword

Klustron is an HTAP distributed database. Klustron has extreme performance in terms of OLTP ( comparison of TPC-C results between Klustron and OceanBase, comparison of TPC-C tests between Klustron and TiDB ), and Klustron also has complete functions in terms of OLAP. How about performance? This article is the performance test results of TPC-H and TPC-DS on Klustron-1.1.1.

We set a timeout period of 1200 seconds for each test case, and if it exceeds, the test case will be automatically stopped. Therefore, a small number of test cases timed out. If given more time, or the amount of data is small, these test cases can all pass.

Klustron will continue to improve OLAP query performance in the future to ensure that all queries that are currently timed out can have better performance.

Test server description:

IPCPUMemoryDiskOperation System
132(enp5s0)AMD Ryzen 9 5950X 16 cores 32 threads128G2T.m2 + 1T.m2 + 4THDDCentos 8.3
134(enp5s0)AMD Ryzen 9 5950X 16 cores 32 threads128G2T.m2 + 1T.m2 + 4THDDCentos 8.3
140(enp5s0)AMD Ryzen 9 5950X 16 cores 32 threads64G1T.m2 + 1T.m2Centos 8.3

Test instruction:

  • The TPC-DS and TPC-H tests are filled with 10G data.
  • After the 10G data is filled, it is necessary to enter the analyze operation on all tables, which can be quickly completed by using the following script
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

Cluster description:

  • The cluster mode is rbr;
  • Each of the three servers deploys a Cluster_mgr, Node_mgr, computing node, and metadata node;
    • Two storage shards are deployed on three servers, with one primary on 132 and one on 134;
    • Each storage shard exists in the form of one master and two backups.

Cluster configuration instructions:

{
        "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 results:

sqlresultcosterror
Q1succ147.86
Q2fail1200.01psql:query/2.sql:47: ERROR: canceling statement due to statement timeout
Q3succ32.63
Q4succ28.82
Q5succ49.18
Q6succ18.07
Q7succ29.88
Q8succ56.75
Q9succ105.17
Q10succ30.52
Q11succ7.67
Q12succ28.27
Q13succ14.72
Q14succ19.07
Q15succ38.29
Q16succ10.65
Q17succ85.78
Q18succ100.61
Q19succ21.61
Q20succ37.63
Q21fail1200.07psql:query/21.sql:43: ERROR: canceling statement due to statement timeout
Q22succ6.97

TPC-DS results:

sqlresultcosterror
Q1fail1199.99psql:query/q1.sql:22: ERROR: canceling statement due to statement timeout
Q2succ33.47
Q3succ13.15
Q4fail1206.71psql:query/q4.sql:113: ERROR: canceling statement due to statement timeout
Q5succ35.67
Q6fail1199.99psql:query/q6.sql:23: ERROR: canceling statement due to statement timeout
Q7succ36.00
Q8succ15.79
Q9succ78.69
Q10succ37.90
Q11succ607.60
Q12succ3.17
Q13succ15.21
Q14fail1199.99psql:query/q14.sql:105: ERROR: canceling statement due to statement timeout
Q15succ34.71
Q16succ0.11
Q17succ73.08
Q18fail1199.99psql:query/q18.sql:35: ERROR: canceling statement due to statement timeout
Q19fail1199.99psql:query/q19.sql:26: ERROR: canceling statement due to statement timeout
Q20succ10.08
Q21succ42.76
Q22succ165.87
Q23succ194.73
Q24succ29.57
Q25fail1222.80psql:query/q25.sql:49: ERROR: canceling statement due to statement timeout
Q26fail1200.00psql:query/q26.sql:22: ERROR: canceling statement due to statement timeout
Q27succ0.06
Q28succ52.84
Q29fail1199.99psql:query/q29.sql:48: ERROR: canceling statement due to statement timeout
Q30fail1200.00psql:query/q30.sql:32: ERROR: canceling statement due to statement timeout
Q31succ125.51
Q32fail1199.99psql:query/q32.sql:29: ERROR: canceling statement due to statement timeout
Q33succ27.31
Q34succ11.47
Q35succ19.57
Q36succ85.41
Q37succ41.47
Q38succ126.61
Q39succ213.64
Q40succ8.29
Q41succ39.71
Q42succ243.83
Q43succ67.13
Q44succ32.96
Q45succ4.31
Q46succ23.64
Q47succ59.03
Q48succ15.10
Q49succ25.74
Q50fail1199.99psql:query/q50.sql:60: ERROR: canceling statement due to statement timeout
Q51succ38.30
Q52succ244.98
Q53succ13.55
Q54succ164.25
Q55succ126.09
Q56succ34.33
Q57succ29.45
Q58succ21.54
Q59succ53.23
Q60succ25.27
Q61fail1199.99psql:query/q61.sql:45: ERROR: canceling statement due to statement timeout
Q62succ12.35
Q63succ14.06
Q64succ42.16
Q65succ44.58
Q66succ16.99
Q67succ99.05
Q68succ28.37
Q69succ56.41
Q70succ106.87
Q71succ21.69
Q72fail1200.10psql:query/q72.sql:30: ERROR: canceling statement due to statement timeout
Q73succ0.24
Q74fail1200.05psql:query/q74.sql:62: ERROR: canceling statement due to statement timeout
Q75succ59.52
Q76succ14.52
Q77fail0.00psql:query/q77.sql:109: ERROR: syntax error at or near "returns"
Q78succ229.67
Q79succ25.25
Q80succ29.31
Q81succ0.42
Q82succ53.84
Q83succ0.91
Q84succ2.89
Q85succ76.26
Q86succ6.56
Q87succ123.08
Q88fail1200.10psql:query/q88.sql:95: ERROR: canceling statement due to statement timeout
Q89succ38.94
Q90succ17.84
Q91succ1.86
Q92succ687.43
Q93succ16.96
Q94succ467.21
Q95fail1200.24psql:query/q95.sql:33: ERROR: canceling statement due to statement timeout
Q96succ1101.59
Q97succ25.18
Q98succ12.29
Q99succ15.71

END