ClickHouse/tests/performance
Alexander Kuzmenkov f169be740a
Merge pull request #21381 from ClickHouse/aku/perf-negative
fix a rare false negative in perf tests
2021-03-03 15:55:14 +03:00
..
agg_functions_min_max_any.xml
aggregate_functions_of_group_by_keys.xml
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.xml
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
array_auc.xml
array_element.xml
array_fill.xml
array_index_low_cardinality_numbers.xml Fix too long perf test 2020-12-30 16:53:30 +03:00
array_index_low_cardinality_strings.xml update perf tests 2021-02-02 17:21:43 +03:00
array_join.xml
array_reduce.xml
async_remote_read.xml
avg_weighted.xml
avg.xml Add performance test 2021-02-02 12:11:20 +03:00
base64_hits.xml
base64.xml
basename.xml
bigint_arithm.xml
bit_operations_fixed_string_numbers.xml
bit_operations_fixed_string.xml
bitCount.xml
bloom_filter_insert.xml
bloom_filter_select.xml
bounding_ratio.xml
casts.xml update perf tests 2021-02-02 17:21:43 +03:00
cidr.xml
codecs_float_insert.xml
codecs_float_select.xml
codecs_int_insert.xml
codecs_int_select.xml
collations.xml
column_column_comparison.xml
ColumnMap.xml update perf tests 2021-02-02 17:21:43 +03:00
columns_hashing.xml
complex_array_creation.xml
concat_hits.xml
conditional.xml update perf tests 2021-02-02 17:21:43 +03:00
consistent_hashes.xml
constant_column_comparison.xml
constant_column_search.xml Make some perf tests faster on slower machines 2020-12-23 05:40:55 +03:00
count.xml
countIf.xml Devirtualize -If and vectorize count 2020-12-21 11:35:38 +08:00
countMatches.xml Make some perf tests faster on slower machines 2020-12-23 05:40:55 +03:00
cpu_synthetic.xml
cryptographic_hashes.xml
date_parsing.xml
date_time_64.xml
date_time_long.xml
date_time_short.xml speed up some perf tests (for other machines) 2021-01-16 00:15:06 +03:00
datetime_comparison.xml
decimal_aggregates.xml Some queries become too fast 2021-02-11 16:37:46 +03:00
decimal_casts.xml update perf tests 2021-02-02 17:21:43 +03:00
decimal_parse.xml
distinct_combinator.xml
distributed_aggregation_memory_efficient.xml
distributed_aggregation.xml
duplicate_order_by_and_distinct.xml
early_constant_folding.xml
empty_string_deserialization.xml
empty_string_serialization.xml
encodeXMLComponent.xml
encrypt_decrypt_empty_string_slow.xml
encrypt_decrypt_empty_string.xml
encrypt_decrypt.xml Remove unneeded case 2021-01-23 22:04:45 +03:00
entropy.xml
extract.xml
fixed_string16.xml
float_formatting.xml
float_mod.xml
float_parsing.xml
format_date_time.xml
format_readable.xml
functions_coding.xml
functions_geo.xml
functions_with_hash_tables.xml
fuzz_bits.xml
general_purpose_hashes_on_UUID.xml
general_purpose_hashes.xml update perf tests 2021-02-02 17:21:43 +03:00
generate_table_function.xml Make some perf tests faster on slower machines 2020-12-23 05:40:55 +03:00
great_circle_dist.xml
group_array_moving_sum.xml
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 Update group_by_sundy_li.xml 2021-02-03 12:22:02 +03:00
h3.xml
if_array_num.xml update perf tests 2021-02-02 17:21:43 +03:00
if_array_string.xml
if_string_const.xml
if_string_hits.xml
if_to_multiif.xml Adjust perf test 2021-01-15 13:22:51 +03:00
if_transform_strings_to_enum.xml
information_value.xml
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
inserts_arrays_lowcardinality.xml
int_parsing.xml
ip_trie.xml
IPv4.xml
IPv6.xml
jit_large_requests.xml Update jit_large_requests.xml 2021-01-18 14:00:24 +03:00
jit_small_requests.xml update perf tests 2021-02-02 17:21:43 +03:00
joins_in_memory_pmj.xml update perf tests 2021-02-02 17:21:43 +03:00
joins_in_memory.xml
json_extract_rapidjson.xml
json_extract_simdjson.xml
least_greatest_hits.xml
leftpad.xml
linear_regression.xml
local_replica.xml
logical_functions_large.xml
logical_functions_medium.xml
logical_functions_small.xml
materialized_view_parallel_insert.xml
math.xml
memory_cache_friendliness.xml Add perf test 2021-02-07 05:42:43 +03:00
merge_table_streams.xml
merge_tree_huge_pk.xml
merge_tree_many_partitions_2.xml
merge_tree_many_partitions.xml
merge_tree_simple_select.xml
mingroupby-orderbylimit1.xml
modulo.xml Fix a rare false negative in perf tests 2021-03-02 19:21:30 +03:00
monotonous_order_by.xml
ngram_distance.xml
number_formatting_formats.xml update perf tests 2021-02-02 17:21:43 +03:00
nyc_taxi.xml
optimize_window_funnel.xml Update optimize_window_funnel.xml 2021-01-09 05:15:40 +03:00
optimized_select_final_one_part.xml Use one pool for lonely parts, update tests 2021-01-29 17:30:14 +03:00
optimized_select_final.xml
or_null_default.xml update perf tests 2021-02-02 17:21:43 +03:00
order_by_decimals.xml
order_by_read_in_order.xml
order_by_single_column.xml
order_with_limit.xml
parallel_final.xml
parallel_index.xml
parallel_insert.xml
parallel_mv.xml
parse_engine_file.xml
point_in_polygon_const.xml
point_in_polygon.xml
polymorphic_parts_l.xml update perf tests 2021-02-02 17:21:43 +03:00
polymorphic_parts_m.xml update perf tests 2021-02-02 17:21:43 +03:00
polymorphic_parts_s.xml update perf tests 2021-02-02 17:21:43 +03:00
pre_limit_no_sorting.xml
prewhere_with_row_level_filter.xml Fix privileges 2021-03-01 18:03:29 +04:00
prewhere.xml
push_down_limit.xml Make some perf tests faster on slower machines 2020-12-23 05:40:55 +03:00
quantile_merge.xml
questdb_sum_float32.xml
questdb_sum_float64.xml
questdb_sum_int32.xml
rand.xml
random_fixed_string.xml
random_printable_ascii.xml
random_string_utf8.xml
random_string.xml
range.xml
read_from_comp_parts.xml
read_hits_with_aio.xml
read_in_order_many_parts.xml update perf tests 2021-02-02 17:21:43 +03:00
README.md
redundant_functions_in_order_by.xml
reinterpret_as.xml Revert "optimize aggfunc column data copy (#19407)" 2021-02-21 12:49:50 +03:00
removing_group_by_keys.xml
rewrite_sumIf.xml Rewrite sum(if()) and sumIf to countIf in special cases (#17041) 2021-01-21 12:01:35 +03:00
right.xml
round_down.xml
round_methods.xml
scalar.xml
select_format.xml
set_hits.xml
set_index.xml update perf tests 2021-02-02 17:21:43 +03:00
set.xml
simple_join_query.xml
single_fixed_string_groupby.xml
slices_hits.xml
sort_radix_trivial.xml
sort.xml
split_filter.xml Review fixes. 2021-01-22 16:46:56 +03:00
string_join.xml
string_set.xml
string_sort.xml speed up some perf tests (for other machines) 2021-01-16 00:15:06 +03:00
subqueries.xml Update subqueries.xml 2021-02-17 12:39:40 +03:00
sum_map.xml
sum.xml
sumIf.xml Devirtualize -If and vectorize count 2020-12-21 11:35:38 +08:00
synthetic_hardware_benchmark.xml
trim_numbers.xml
trim_urls.xml
trim_whitespace.xml
uniq.xml update perf tests 2021-02-02 17:21:43 +03:00
url_hits.xml Add perf test 2021-01-15 00:34:53 +03:00
vectorize_aggregation_combinators.xml
visit_param_extract_raw.xml
website.xml speed up some perf tests (for other machines) 2021-01-16 00:15:06 +03:00
window_functions.xml some tests and speedup 2021-02-11 19:20:57 +03: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 have to specify preconditions. It contains table names. Only hits_100m_single, hits_10m_single, test.hits are available in CI.

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.

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
../../docker/test/performance-comparison/perf.py --runs 1 insert_parallel.xml