ClickHouse/dbms/tests/performance
alexey-milovidov b43e75200e
Merge pull request #5595 from inv2004/moving-sum
movingSum/Avg window functions for numeric and decimals
2019-06-24 19:13:26 +03:00
..
agg_functions_min_max_any.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
array_element.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
array_join.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
base64_hits.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
base64.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
basename.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
bounding_ratio.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
cidr.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
column_column_comparison.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
columns_hashing.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
complex_array_creation.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
concat_hits.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
conditional.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
consistent_hashes.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
constant_column_comparison.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
constant_column_search.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
cpu_synthetic.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
create_benchmark_page.py add string comparisons performance test [#CLICKHOUSE-3070] 2017-06-22 23:10:43 +03:00
cryptographic_hashes.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
date_parsing.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
date_time.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
entropy.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
first_significant_subdomain.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
fixed_string16.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
float_parsing.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
format_date_time.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
functions_coding.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
functions_geo.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
general_purpose_hashes.xml Merge remote-tracking branch 'main/master' into crc32-for-master 2019-06-19 15:16:20 +03:00
group_array_moving_sum.xml movingSum: uses template for groupArrayMovingSum and groupArrayMovingAvg 2019-06-18 10:18:33 -04:00
if_array_num.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
if_array_string.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
if_string_const.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
if_string_hits.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
int_parsing.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
IPv4.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
IPv6.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
joins_in_memory.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
json_extract_rapidjson.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
json_extract_simdjson.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
leftpad.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
linear_regression.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
merge_tree_many_partitions_2.xml Added performance tests 2019-06-16 23:25:43 +03:00
merge_tree_many_partitions.xml Added performance tests 2019-06-16 23:25:43 +03:00
merge_tree_simple_select.xml Merge branch 'fix-performance-degradation-index-granularity' of github.com:yandex/ClickHouse into fix-performance-degradation-index-granularity 2019-06-14 22:36:21 +03:00
ngram_distance.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
number_formatting_formats.xml Fixed performance test 2019-06-16 12:16:54 +03:00
nyc_taxi.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
order_by_single_column.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
parse_engine_file.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
read_hits_with_aio.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
README.md Small performance test documentation. (#5408) 2019-05-25 13:46:08 +03:00
right.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
roundDown.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
select_format.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
set_hits.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
set.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
simple_join_query.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
slices_hits.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
small_requests.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
sort.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
string_sort.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
system_numbers.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
trim_numbers.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
trim_urls.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
trim_whitespace.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
uniq.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
url_hits.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
visit_param_extract_raw.xml Remove <name> and <metrics> from performance tests fixed-5634 2019-06-18 19:55:13 +03:00
website.xml wip 2019-06-18 20:16:20 +03:00

ClickHouse performance tests

This directory contains .xml-files with performance tests for clickhouse-performance-test tool.

How to write performance test

First of all you should check existing tests don't cover your case. If there are no such tests than you should write your own.

There two types of performance tests:

  • First is executed in loop, and have tag <type>loop</type> in config.
  • Second one is executed only once and have tag <type>once</type> in config.

Type once should be used only for endless queries. Even if your query really long (10 seconds+), it's better to choose loop test.

After you have choosen type, you have to specify preconditions. It contains table names. Only hits_100m_single, hits_10m_single, test.hits are available in CI.

The most important part of test is stop_conditions. For loop test you should always use min_time_not_changing_for_ms stop condition. For once test you can choose between average_speed_not_changing_for_ms and max_speed_not_changing_for_ms, but first is preferable. Also you should always specify total_time_ms metric. Endless tests will be ignored by CI.

metrics and main_metric settings are not important and can be ommited, because loop tests are always compared by min_time metric and once tests compared by max_rows_per_second.

You can use substitions, create, fill and drop queries to prepare test. You can find examples in this folder.

Take into account, that these tests will run in CI which consists of 56-cores and 512 RAM machines. Queries will be executed much faster than on local laptop.

How to run performance test

You have to run clickhouse-server and after you can start testing:

$ clickhouse-performance-test --input-file my_lovely_test1.xml --input-file my_lovely_test2.xml
$ clickhouse-performance-test --input-file /my_lovely_test_dir/