2019-05-25 10:46:08 +00:00
|
|
|
## ClickHouse performance tests
|
|
|
|
|
2024-09-25 12:43:39 +00:00
|
|
|
This directory contains `.xml`-files with performance tests.
|
2019-05-25 10:46:08 +00:00
|
|
|
|
2024-09-25 12:43:39 +00:00
|
|
|
### How to write a performance test
|
2019-05-25 10:46:08 +00:00
|
|
|
|
2024-09-25 12:43:39 +00:00
|
|
|
First of all please check that existing tests don't cover your case. If there are no such tests then you can write your own test.
|
2019-05-25 10:46:08 +00:00
|
|
|
|
2024-09-25 12:43:39 +00:00
|
|
|
Test template:
|
|
|
|
|
|
|
|
``` xml
|
|
|
|
<test>
|
|
|
|
<!-- Optional: Specify settings -->
|
|
|
|
<settings>
|
|
|
|
<max_threads>1</max_threads>
|
|
|
|
<max_insert_threads>1</max_insert_threads>
|
|
|
|
</settings>
|
|
|
|
|
|
|
|
<!-- Optional: Variable substitutions, can be referenced to by curly brackets {} and used in any queries -->
|
|
|
|
<substitutions>
|
|
|
|
<substitution>
|
|
|
|
<name>x</name>
|
|
|
|
<values>
|
|
|
|
<value>10</value>
|
|
|
|
<value>50</value>
|
|
|
|
</values>
|
|
|
|
</substitution>
|
|
|
|
<substitution>
|
|
|
|
<name>y</name>
|
|
|
|
<values>
|
|
|
|
<value>5</value>
|
|
|
|
<value>8</value>
|
|
|
|
</values>
|
|
|
|
</substitution>
|
|
|
|
</substitutions>
|
|
|
|
|
|
|
|
<!-- Optional: Table setup queries -->
|
|
|
|
<create_query>CREATE TABLE tab1 [..]</create_query>
|
|
|
|
<create_query>CREATE TABLE tab2 [..]</create_query>
|
|
|
|
|
|
|
|
<!-- Optional: Table population queries -->
|
|
|
|
<fill_query>INSERT INTO tab1 [...]</fill_query>
|
|
|
|
<fill_query>INSERT INTO tab2 [...]</fill_query>
|
|
|
|
|
|
|
|
<!-- Benchmark queries -->
|
|
|
|
<query>SELECT [...] WHERE col BETWEEN {x} AND {y}</query>
|
|
|
|
<query>SELECT [...]</query>
|
|
|
|
<query>SELECT [...]</query>
|
|
|
|
|
|
|
|
<!-- Optional: Table teardown queries -->
|
|
|
|
<drop_query>DROP TABLE tab1</drop_query>
|
|
|
|
<drop_query>DROP TABLE tab2</drop_query>
|
|
|
|
</test>
|
|
|
|
```
|
2019-05-25 10:46:08 +00:00
|
|
|
|
2023-08-17 18:00:34 +00:00
|
|
|
If your test takes more than 10 minutes, please, add tag `long` to have an opportunity to run all tests and skip long ones.
|
2019-10-14 10:13:32 +00:00
|
|
|
|
2019-05-25 10:46:08 +00:00
|
|
|
### How to run performance test
|
|
|
|
|
2024-09-25 12:43:39 +00:00
|
|
|
TODO
|
2020-08-26 17:34:05 +00:00
|
|
|
|
|
|
|
### How to validate single test
|
|
|
|
|
|
|
|
```
|
2022-02-20 01:40:10 +00:00
|
|
|
pip3 install clickhouse_driver scipy
|
2023-12-27 12:16:17 +00:00
|
|
|
../../tests/performance/scripts/perf.py --runs 1 insert_parallel.xml
|
2020-08-26 17:34:05 +00:00
|
|
|
```
|