ClickHouse/tests/performance
Nikita Taranov 41ba0118b5
Bring back #36396 (#38110)
* Revert "Revert "More parallel execution for queries with `FINAL` (#36396)""

This reverts commit 5bfb15262c.

* fix tests

* fix review suggestions

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-06-22 15:05:07 +02:00
..
agg_functions_min_max_any.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
aggregate_functions_of_group_by_keys.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
aggregating_merge_tree_simple_aggregate_function_string.xml Update tests for new numbers(limit) syntax 2021-02-10 22:32:32 +03:00
aggregating_merge_tree.xml
aggregation_in_order_2.xml better perf test 2021-10-19 17:13:52 +03:00
aggregation_in_order.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
aggregation_overflow.xml Add perftest. 2021-03-18 12:38:37 +03:00
analyze_array_tuples.xml
and_function.xml
any_anyLast.xml speed up some perf tests (for other machines) 2021-01-16 00:15:06 +03:00
arithmetic_operations_in_aggr_func.xml
arithmetic.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
array_auc.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
array_element.xml
array_fill.xml
array_index_low_cardinality_numbers.xml Fix slow performance test 2022-04-29 04:29:06 +02:00
array_index_low_cardinality_strings.xml update perf tests 2021-02-02 17:21:43 +03:00
array_join.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
array_reduce.xml
asof.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
async_remote_read.xml Fix error in perf test 2021-04-22 08:43:20 +03:00
avg_weighted.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
avg.xml Needs more data in avg tests 2021-11-29 19:50:03 +01:00
base64_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
base64.xml
basename.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
bigint_arithm.xml
bit_operations_fixed_string_numbers.xml
bit_operations_fixed_string.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
bloom_filter_insert.xml
bloom_filter_select.xml
bounding_ratio.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
casts.xml update perf tests 2021-02-02 17:21:43 +03:00
cidr.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
classification.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
codec_none.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
codecs_float_insert.xml added fpc codec to float perftest 2022-05-26 22:32:56 +03:00
codecs_float_select.xml Small follow-up for FPC codec 2022-06-15 14:21:28 +02:00
codecs_int_insert.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
codecs_int_select.xml
collations.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
ColumnMap.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
columns_hashing.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
complex_array_creation.xml
concat_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
conditional.xml optimize function coalesce with two arguments 2022-05-30 22:29:35 +00:00
consistent_hashes.xml Rename yandexConsistentHash to kostikConsistentHash 2022-03-24 02:18:25 +01:00
constant_column_comparison.xml Remove tags as well 2022-05-02 02:35:44 +02:00
constant_column_search.xml Merge pull request #36841 from ClickHouse/fix-performance-test-5 2022-05-02 12:22:56 +03:00
count.xml Make count performance tests longer 2021-11-26 09:06:37 +01:00
countIf.xml Implement AggregateFunctionCountNotNullUnary::addBatchSinglePlace 2021-11-25 16:41:48 +01:00
countMatches.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
cpu_synthetic.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
cryptographic_hashes.xml
date_parsing.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
date_time_64.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
date_time_long.xml replaced toStartOfFiveMinute to toStartOfFiveMinutes 2022-04-22 10:49:59 +08:00
date_time_short.xml Adjust timezone in performance tests 2022-03-11 23:49:13 +01:00
datetime_comparison.xml Specialize date time comparision. 2021-08-03 16:49:39 +08:00
decimal_aggregates.xml Optimize quantilesExact{Low,High} to use nth_element instead of sort 2022-02-03 12:24:33 +00:00
decimal_casts.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
decimal_format.xml Add performance test 2021-08-17 09:11:35 +03:00
decimal_parse.xml
destroy_aggregate_states.xml impl 2022-06-04 19:14:38 +00:00
dict_join.xml Smaller table in performance/dict_join.xml 2021-06-24 11:27:55 +03:00
direct_dictionary.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
distinct_combinator.xml
distributed_aggregation_memory_efficient.xml
distributed_aggregation.xml
duplicate_order_by_and_distinct.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
empty_string_deserialization.xml
empty_string_serialization.xml
encodeXMLComponent.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
encrypt_decrypt_empty_string_slow.xml Queries are too fast 2020-12-20 12:01:51 +03:00
encrypt_decrypt_empty_string.xml Removed the tests aes-192-cfb128 and aes-256-cfb128 since the latest boringssl modules doesn't support 2022-04-27 07:48:43 -07:00
encrypt_decrypt.xml Removed the tests aes-192-cfb128 and aes-256-cfb128 since the latest boringssl modules doesn't support 2022-04-27 07:48:43 -07:00
entropy.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
explain_ast.xml Add perf test 2021-11-29 13:09:53 +01:00
extract.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
file_table_function.xml Disable broken performance test 2022-04-25 11:26:05 +02:00
fixed_string16.xml Remove tags as well 2022-05-02 02:35:44 +02:00
flat_dictionary.xml Added performance tests 2021-10-23 15:01:30 +03:00
float_formatting.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
float_mod.xml
float_parsing.xml Trim down some tests 2022-04-29 04:33:12 +02:00
format_date_time.xml
format_readable.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
formats_columns_sampling.xml Fix performance test 2022-05-23 17:42:13 +00:00
function_calculation_after_sorting_and_limit.xml fix SortingStep::updateOutputStream() 2022-04-25 17:29:14 +00:00
functions_coding.xml Trim down some tests 2022-04-29 04:33:12 +02:00
functions_geo.xml
functions_with_hash_tables.xml Adjust perf test thresholds 2020-11-27 15:08:42 +03:00
fuse_sumcount.xml Some extra perf tests around sumCount 2021-11-24 11:14:31 +01:00
fuzz_bits.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
general_purpose_hashes_on_UUID.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
general_purpose_hashes.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
generate_table_function.xml Adjust timezone in performance tests 2022-03-11 23:49:13 +01:00
great_circle_dist.xml Improve performance of geo distance functions 2022-05-25 14:22:22 +02:00
group_array_moving_sum.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
group_by_fixed_keys.xml Improve performance of GROUP BY multiple fixed size keys 2021-02-14 01:56:04 +03:00
group_by_sundy_li.xml Fix group_by_sundy_li performance test 2022-04-12 17:06:38 +02:00
h3.xml Performance tests fix H3 2022-02-18 15:57:54 +00:00
has_all.xml Simplified hasAll performance tests 2022-04-04 13:34:40 +02:00
hash_table_sizes_stats.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
hashed_array_dictionary.xml Trim down some tests 2022-04-29 04:33:12 +02:00
hashed_dictionary.xml HashedDictionaries added read performance tests 2021-10-25 20:12:29 +03:00
hierarchical_dictionaries.xml Fixed performance tests 2022-06-13 13:31:02 +02:00
if_array_num.xml update perf tests 2021-02-02 17:21:43 +03:00
if_array_string.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
if_string_const.xml
if_string_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
if_to_multiif.xml Adjust perf test 2021-01-15 13:22:51 +03:00
if_transform_strings_to_enum.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
information_value.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
injective_functions_inside_uniq.xml
insert_parallel.xml
insert_select_default_small_block.xml
insert_sequential_and_background_merges.xml
insert_values_with_expressions.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
inserts_arrays_lowcardinality.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
int_parsing.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
intDiv.xml Add perf test 2021-04-15 01:35:21 +03:00
ip_trie.xml fix tests 2021-11-03 18:06:19 +03:00
IPv4.xml
IPv6.xml
jit_aggregate_functions.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
jit_large_requests.xml Update jit_large_requests.xml 2021-01-18 14:00:24 +03:00
jit_small_requests.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
jit_sort.xml Fixed tests 2022-05-11 21:59:51 +02:00
join_append_block.xml Fix significant join performance regression 2022-06-14 21:14:18 +08:00
join_max_streams.xml Add tests/performance/join_max_streams.xml 2021-07-07 20:51:07 +03:00
joins_in_memory.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
json_extract_rapidjson.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
json_extract_simdjson.xml Adjust perf test 2021-10-24 00:11:28 +03:00
least_greatest_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
leftpad.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
linear_regression.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
local_replica.xml
logical_functions_large.xml
logical_functions_medium.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
logical_functions_small.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
lot_of_subcolumns.xml Fix perf test 2021-07-17 13:11:50 +03:00
map_populate_series.xml Added additional performance test 2022-02-05 16:11:36 +00:00
materialized_view_parallel_insert.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
math.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
memory_cache_friendliness.xml Add perf test 2021-02-07 05:42:43 +03:00
merge_table_streams.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
merge_tree_huge_pk.xml
merge_tree_insert.xml Updated tests 2022-03-11 21:16:25 +00:00
merge_tree_many_partitions_2.xml Fixed performance tests 2022-03-15 15:43:39 +00:00
merge_tree_many_partitions.xml Fixed performance tests 2022-03-15 15:43:39 +00:00
merge_tree_simple_select.xml
mingroupby-orderbylimit1.xml
mmap_io.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
modulo.xml Fix a rare false negative in perf tests 2021-03-02 19:21:30 +03:00
monotonous_order_by.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
ngram_distance.xml Remove tags as well 2022-05-02 02:35:44 +02:00
nlp.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
norm_distance.xml Use same norm and distance function names for tuples and arrays 2022-05-25 22:39:59 +02:00
normalize_utf8.xml Normalize UTF8 performance test fix 2022-06-09 15:35:53 +02:00
number_formatting_formats.xml Fix some perf tests 2022-01-31 21:07:20 +03:00
optimize_window_funnel.xml Update optimize_window_funnel.xml 2021-01-09 05:15:40 +03:00
optimized_select_final_one_part.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
optimized_select_final.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
or_null_default.xml adjust perf test thresholds 2021-03-26 00:00:18 +03:00
order_by_decimals.xml Remove tags as well 2022-05-02 02:35:44 +02:00
order_by_read_in_order.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
order_by_single_column.xml Remove tags as well 2022-05-02 02:35:44 +02:00
order_by_tuple.xml Remove tags as well 2022-05-02 02:35:44 +02:00
order_with_limit.xml Remove tags as well 2022-05-02 02:35:44 +02:00
parallel_final.xml Bring back #36396 (#38110) 2022-06-22 15:05:07 +02:00
parallel_index.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
parallel_insert.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
parallel_mv.xml Disable merges for parallel_mv 2021-10-02 11:54:47 +03:00
parse_engine_file.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
point_in_polygon_const.xml
point_in_polygon.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
polymorphic_parts_l.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
polymorphic_parts_m.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
polymorphic_parts_s.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
pre_limit_no_sorting.xml
prewhere_with_row_level_filter.xml Update prewhere_with_row_level_filter.xml 2021-03-09 11:15:03 +03:00
prewhere.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
push_down_limit.xml Make some perf tests faster on slower machines 2020-12-23 05:40:55 +03:00
quantile_merge.xml
quantile.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
questdb_sum_float32.xml Fix performance test 2022-04-29 10:27:44 +02:00
questdb_sum_float64.xml
questdb_sum_int32.xml Trying to have smaller test 2021-11-24 14:13:59 +03:00
rand.xml
random_fixed_string.xml
random_printable_ascii.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
random_string_utf8.xml
random_string.xml update thresholds - 1 2021-05-20 17:14:55 +03:00
range_hashed_dictionary.xml Fix performance tests 2022-01-19 10:41:58 +00:00
range.xml
re2_regex_caching.xml Try to fix performance test results 2022-06-01 11:53:37 +02:00
read_from_comp_parts.xml
read_hits_with_aio.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
read_in_order_many_parts.xml Performance tests fix 2022-03-15 15:43:39 +00:00
README.md Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
redundant_functions_in_order_by.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
reinterpret_as.xml Fix perf test 2021-12-12 04:31:56 +03:00
removing_group_by_keys.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
rewrite_sumIf.xml fix the test 2021-05-15 09:35:00 +03:00
right.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
round_down.xml
round_methods.xml
scalar2.xml Fix performance regression of scalar query 2022-04-06 17:50:22 +08:00
scalar.xml
select_format.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
sequence_match.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
set_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
set_index.xml Change perf set_index test to check build index 2021-12-23 13:53:36 +01:00
set.xml
short_circuit_functions.xml Update tests 2021-08-13 14:55:33 +03:00
simple_join_query.xml
single_fixed_string_groupby.xml Fix perf test 2021-05-04 20:31:26 +03:00
slices_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
sort_radix_trivial.xml
sort.xml
sparse_column.xml add perf test 2022-05-28 12:56:38 +00:00
split_filter.xml Review fixes. 2021-01-22 16:46:56 +03:00
string_join.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
string_set.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
string_sort.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
string_to_int.xml Safer readInt 2021-05-27 22:56:51 +08:00
subqueries.xml Update subqueries.xml 2021-02-17 12:39:40 +03:00
sum_map.xml perf: add missing DROP TABLE queries 2021-11-03 08:26:52 +03:00
sum.xml Adjust performance test 2021-09-21 22:19:13 +03:00
sumIf.xml Devirtualize -If and vectorize count 2020-12-21 11:35:38 +08:00
synthetic_hardware_benchmark.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
trim_numbers.xml
trim_urls.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
trim_whitespace.xml
tsv_csv_nullable_parsing.xml Add performance test 2021-10-27 17:29:36 +03:00
unary_arithmetic_functions.xml Dynamic dispatch infrastructure style fixes 2022-05-24 14:25:29 +02:00
unary_logical_functions.xml UnaryLogicalFunctions improve performance using dynamic dispatch 2022-06-14 17:30:11 +02:00
uniq.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
url_hits.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
vectorize_aggregation_combinators.xml
visit_param_extract_raw.xml calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
website.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
window_functions.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
writing_valid_utf8.xml Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00

ClickHouse performance tests

This directory contains .xml-files with performance tests for @akuzm 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.

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

If your test continued more than 10 minutes, please, add tag long to have an opportunity to run all tests and skip long ones.

How to run performance test

TODO @akuzm

How to validate single test

pip3 install clickhouse_driver scipy
../../docker/test/performance-comparison/perf.py --runs 1 insert_parallel.xml