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.7">
|
2019-05-13 18:58:15 +00:00
|
|
|
<create_query>CREATE TABLE ints (i64 Int64, i32 Int32, i16 Int16, i8 Int8) ENGINE = Memory</create_query>
|
|
|
|
|
2020-03-11 21:07:34 +00:00
|
|
|
<fill_query>INSERT INTO ints SELECT number AS i64, i64 AS i32, i64 AS i16, i64 AS i8 FROM numbers(10000)</fill_query>
|
|
|
|
<fill_query>INSERT INTO ints SELECT 10000 + number % 1000 AS i64, i64 AS i32, i64 AS i16, i64 AS i8 FROM numbers(10000)</fill_query>
|
|
|
|
<fill_query>INSERT INTO ints SELECT 20000 + number % 100 AS i64, i64 AS i32, i64 AS i16, i64 AS i8 FROM numbers(10000)</fill_query>
|
|
|
|
<fill_query>INSERT INTO ints SELECT 30000 + number % 10 AS i64, i64 AS i32, i64 AS i16, i64 AS i8 FROM numbers(10000)</fill_query>
|
|
|
|
<fill_query>INSERT INTO ints SELECT 40000 + number % 1 AS i64, i64 AS i32, i64 AS i16, i64 AS i8 FROM numbers(10000)</fill_query>
|
2019-05-13 18:58:15 +00:00
|
|
|
|
2020-07-10 18:10:06 +00:00
|
|
|
<query short='1' tag='ANY LEFT'>SELECT COUNT() FROM ints l ANY LEFT JOIN ints r USING i64 WHERE i32 = 20042</query>
|
|
|
|
<query short='1' tag='ANY LEFT KEY'>SELECT COUNT() FROM ints l ANY LEFT JOIN ints r USING i64,i32,i16,i8 WHERE i32 = 20042</query>
|
|
|
|
<query short='1' tag='ANY LEFT ON'>SELECT COUNT() FROM ints l ANY LEFT JOIN ints r ON l.i64 = r.i64 WHERE i32 = 20042</query>
|
|
|
|
<query short='1' tag='ANY LEFT IN'>SELECT COUNT() FROM ints l ANY LEFT JOIN ints r USING i64 WHERE i32 IN(42, 10042, 20042, 30042, 40042)</query>
|
|
|
|
|
|
|
|
<query tag='INNER'>SELECT COUNT() FROM ints l INNER JOIN ints r USING i64 WHERE i32 = 20042</query>
|
|
|
|
<query tag='INNER KEY'>SELECT COUNT() FROM ints l INNER JOIN ints r USING i64,i32,i16,i8 WHERE i32 = 20042</query>
|
|
|
|
<query tag='INNER ON'>SELECT COUNT() FROM ints l INNER JOIN ints r ON l.i64 = r.i64 WHERE i32 = 20042</query>
|
|
|
|
<query tag='INNER IN'>SELECT COUNT() FROM ints l INNER JOIN ints r USING i64 WHERE i32 IN(42, 10042, 20042, 30042, 40042)</query>
|
|
|
|
|
|
|
|
<query tag='LEFT'>SELECT COUNT() FROM ints l LEFT JOIN ints r USING i64 WHERE i32 = 20042</query>
|
|
|
|
<query tag='LEFT KEY'>SELECT COUNT() FROM ints l LEFT JOIN ints r USING i64,i32,i16,i8 WHERE i32 = 20042</query>
|
|
|
|
<query tag='LEFT ON'>SELECT COUNT() FROM ints l LEFT JOIN ints r ON l.i64 = r.i64 WHERE i32 = 20042</query>
|
|
|
|
<query tag='LEFT IN'>SELECT COUNT() FROM ints l LEFT JOIN ints r USING i64 WHERE i32 IN(42, 10042, 20042, 30042, 40042)</query>
|
|
|
|
|
|
|
|
<query tag='RIGHT'>SELECT COUNT() FROM ints l RIGHT JOIN ints r USING i64 WHERE i32 = 20042</query>
|
|
|
|
<query tag='RIGHT KEY'>SELECT COUNT() FROM ints l RIGHT JOIN ints r USING i64,i32,i16,i8 WHERE i32 = 20042</query>
|
|
|
|
<query tag='RIGHT ON'>SELECT COUNT() FROM ints l RIGHT JOIN ints r ON l.i64 = r.i64 WHERE i32 = 20042</query>
|
|
|
|
<query tag='RIGHT IN'>SELECT COUNT() FROM ints l RIGHT JOIN ints r USING i64 WHERE i32 IN(42, 10042, 20042, 30042, 40042)</query>
|
|
|
|
|
|
|
|
<query tag='FULL'>SELECT COUNT() FROM ints l FULL JOIN ints r USING i64 WHERE i32 = 20042</query>
|
|
|
|
<query tag='FULL KEY'>SELECT COUNT() FROM ints l FULL JOIN ints r USING i64,i32,i16,i8 WHERE i32 = 20042</query>
|
|
|
|
<query tag='FULL ON'>SELECT COUNT() FROM ints l FULL JOIN ints r ON l.i64 = r.i64 WHERE i32 = 20042</query>
|
|
|
|
<query tag='FULL IN'>SELECT COUNT() FROM ints l FULL JOIN ints r USING i64 WHERE i32 IN(42, 10042, 20042, 30042, 40042)</query>
|
|
|
|
|
|
|
|
<query short='1' tag='CROSS'>SELECT COUNT() FROM ints l CROSS JOIN (SELECT number as i64 FROM numbers(4)) r WHERE i32 = 42</query>
|
|
|
|
<query short='1' tag='CROSS KEY'>SELECT COUNT() FROM ints l CROSS JOIN (SELECT number as i64 FROM numbers(4)) r WHERE i32 = 42</query>
|
2019-05-13 18:58:15 +00:00
|
|
|
|
|
|
|
<drop_query>DROP TABLE IF EXISTS ints</drop_query>
|
|
|
|
</test>
|