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.3">
|
2019-07-05 12:42:20 +00:00
|
|
|
<create_query>
|
|
|
|
CREATE TABLE jit_test (
|
|
|
|
a UInt64,
|
|
|
|
b UInt64,
|
|
|
|
c UInt64,
|
|
|
|
d UInt64,
|
|
|
|
e UInt64,
|
|
|
|
f UInt64,
|
|
|
|
g UInt64,
|
|
|
|
h UInt64,
|
|
|
|
i UInt64,
|
|
|
|
j UInt64
|
|
|
|
) Engine = Memory
|
|
|
|
</create_query>
|
|
|
|
|
|
|
|
<fill_query>
|
|
|
|
INSERT INTO jit_test
|
|
|
|
SELECT
|
|
|
|
number,
|
|
|
|
number,
|
|
|
|
number,
|
|
|
|
number,
|
|
|
|
number,
|
|
|
|
number,
|
|
|
|
number,
|
|
|
|
number,
|
|
|
|
number,
|
|
|
|
number
|
|
|
|
FROM
|
|
|
|
system.numbers
|
|
|
|
LIMIT 10000000
|
|
|
|
</fill_query>
|
|
|
|
<query>
|
|
|
|
SELECT
|
2019-07-05 12:55:47 +00:00
|
|
|
COUNT()
|
2019-07-05 12:42:20 +00:00
|
|
|
FROM
|
|
|
|
jit_test
|
2019-07-05 12:55:47 +00:00
|
|
|
WHERE
|
|
|
|
NOT ignore(a / b + c / d + e / f + g / h + i / j)
|
2019-07-05 12:42:20 +00:00
|
|
|
SETTINGS
|
|
|
|
compile_expressions = 0;
|
|
|
|
</query>
|
2020-07-31 16:28:04 +00:00
|
|
|
<query short="1">
|
2019-07-05 12:42:20 +00:00
|
|
|
SELECT
|
2019-07-05 12:55:47 +00:00
|
|
|
COUNT()
|
2019-07-05 12:42:20 +00:00
|
|
|
FROM
|
2019-07-05 12:55:47 +00:00
|
|
|
jit_test
|
|
|
|
WHERE
|
|
|
|
NOT ignore(a / b + c / d + e / f + g / h + i / j)
|
2019-07-05 12:42:20 +00:00
|
|
|
SETTINGS
|
|
|
|
compile_expressions = 1,
|
2020-03-12 15:26:57 +00:00
|
|
|
min_count_to_compile_expression = 1
|
2019-07-05 12:42:20 +00:00
|
|
|
</query>
|
|
|
|
<drop_query>DROP TABLE IF EXISTS jit_test</drop_query>
|
|
|
|
</test>
|