Adjust ignore thresholds for unstable perf tests
Based on historical data.
```
SELECT
test,
ceil(max(q[3]), 1) AS h
FROM
(
SELECT
test,
query_index,
count(*),
min(event_time),
max(event_time) AS t,
arrayMap(x -> floor(x, 3), quantiles(0, 0.5, 0.95, 1)(stat_threshold)) AS q,
median(stat_threshold) AS m
FROM perftest.query_metrics
WHERE (metric = 'client_time') AND (abs(diff) < 0.05)
GROUP BY
test,
query_index,
query_display_name
HAVING (t > '2020-09-01 00:00:00') AND (m > 0.1)
ORDER BY m DESC
)
GROUP BY test
ORDER BY h DESC
FORMAT TSV
cryptographic_hashes 1.3
collations 0.8
joins_in_memory_pmj 0.8
joins_in_memory 0.7
merge_tree_simple_select 0.7
set_index 0.7
decimal_casts 0.7
website 0.6
logical_functions_medium 0.5
count 0.5
merge_tree_many_partitions 0.5
decimal_aggregates 0.5
codecs_int_insert 0.5
column_column_comparison 0.5
insert_parallel 0.4
parse_engine_file 0.4
read_in_order_many_parts 0.4
logical_functions_small 0.4
parallel_insert 0.3
parallel_index 0.3
push_down_limit 0.3
jit_large_requests 0.3
select_format 0.3
arithmetic 0.3
merge_tree_huge_pk 0.3
materialized_view_parallel_insert 0.3
columns_hashing 0.3
if_array_string 0.3
random_string 0.2
random_printable_ascii 0.2
set 0.2
empty_string_serialization 0.2
```
To apply:
```
sed 's/^\(.*\) \(.*\)$/sed -i "s\/^<test.*$\/<test max_ignored_relative_change="'"'"\2">\/g" tests\/performance\/\1.xml/g' ../bad.tsv | bash
```
2020-09-16 15:27:51 +00:00
|
|
|
<test max_ignored_relative_change="0.2">
|
2017-10-29 00:51:40 +00:00
|
|
|
<substitutions>
|
|
|
|
<substitution>
|
2020-06-29 14:09:51 +00:00
|
|
|
<name>table_small</name>
|
2017-10-29 00:51:40 +00:00
|
|
|
<values>
|
2020-03-11 11:22:10 +00:00
|
|
|
<value>zeros(10000000)</value>
|
|
|
|
<value>zeros_mt(100000000)</value>
|
2017-10-29 00:51:40 +00:00
|
|
|
</values>
|
|
|
|
</substitution>
|
|
|
|
<substitution>
|
2020-06-29 14:09:51 +00:00
|
|
|
<name>table_large</name>
|
|
|
|
<values>
|
|
|
|
<value>zeros(100000000)</value>
|
|
|
|
<value>zeros_mt(1000000000)</value>
|
|
|
|
</values>
|
|
|
|
</substitution>
|
|
|
|
<substitution>
|
|
|
|
<name>size_large</name>
|
|
|
|
<values>
|
|
|
|
<value>1048576</value>
|
|
|
|
<value>10000000</value>
|
|
|
|
</values>
|
|
|
|
</substitution>
|
|
|
|
<substitution>
|
|
|
|
<name>size_small</name>
|
2017-10-29 00:51:40 +00:00
|
|
|
<values>
|
|
|
|
<value>1</value>
|
|
|
|
<value>16</value>
|
|
|
|
<value>1024</value>
|
|
|
|
<value>16384</value>
|
|
|
|
</values>
|
|
|
|
</substitution>
|
|
|
|
</substitutions>
|
|
|
|
|
2020-06-29 14:09:51 +00:00
|
|
|
<query>SELECT count() FROM {table_large} WHERE rand64() IN (SELECT number FROM system.numbers LIMIT {size_small})</query>
|
|
|
|
<query>SELECT count() FROM {table_small} WHERE rand64() IN (SELECT number FROM system.numbers LIMIT {size_large})</query>
|
2020-09-04 09:11:37 +00:00
|
|
|
<query>
|
|
|
|
SELECT number
|
|
|
|
FROM numbers(10)
|
|
|
|
WHERE (number IN
|
|
|
|
(
|
|
|
|
SELECT sum(number)
|
|
|
|
FROM numbers(100000000)
|
|
|
|
GROUP BY bitAnd(number, 15)
|
|
|
|
)) OR (number IN
|
|
|
|
(
|
|
|
|
SELECT sum(number)
|
|
|
|
FROM numbers(100000000)
|
|
|
|
GROUP BY bitAnd(number, 17)
|
|
|
|
))
|
|
|
|
</query>
|
2017-10-29 00:51:40 +00:00
|
|
|
</test>
|