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-06-15 15:00:25 +00:00
|
|
|
<settings>
|
|
|
|
<output_format_pretty_max_rows>1000000</output_format_pretty_max_rows>
|
2019-12-30 19:16:12 +00:00
|
|
|
<max_threads>1</max_threads>
|
2019-06-15 15:00:25 +00:00
|
|
|
</settings>
|
2019-05-23 10:37:19 +00:00
|
|
|
|
|
|
|
<substitutions>
|
|
|
|
<substitution>
|
2020-04-30 05:10:13 +00:00
|
|
|
<name>format_slow</name>
|
|
|
|
<values>
|
|
|
|
<value>Pretty</value>
|
|
|
|
<value>PrettyCompact</value>
|
|
|
|
<value>PrettyCompactMonoBlock</value>
|
|
|
|
<value>PrettyNoEscapes</value>
|
|
|
|
<value>PrettySpace</value>
|
|
|
|
<value>MySQLWire</value>
|
|
|
|
<value>XML</value>
|
|
|
|
</values>
|
|
|
|
</substitution>
|
|
|
|
<substitution>
|
|
|
|
<name>format_fast</name>
|
2019-05-23 10:37:19 +00:00
|
|
|
<values>
|
|
|
|
<value>TabSeparated</value>
|
|
|
|
<value>TabSeparatedRaw</value>
|
|
|
|
<value>CSV</value>
|
|
|
|
<value>Values</value>
|
|
|
|
<value>Vertical</value>
|
|
|
|
<value>JSON</value>
|
|
|
|
<value>JSONCompact</value>
|
|
|
|
<value>JSONEachRow</value>
|
2019-12-05 10:13:40 +00:00
|
|
|
<value>JSONCompactEachRow</value>
|
2019-05-23 10:37:19 +00:00
|
|
|
<value>TSKV</value>
|
2019-05-31 08:05:26 +00:00
|
|
|
<value>RowBinary</value>
|
|
|
|
<value>Native</value>
|
2019-06-15 19:06:02 +00:00
|
|
|
<value>ODBCDriver2</value>
|
2020-01-18 20:10:11 +00:00
|
|
|
<value>Avro</value>
|
2020-04-17 09:35:38 +00:00
|
|
|
<value>MsgPack</value>
|
2020-06-26 20:17:28 +00:00
|
|
|
<value>ORC</value>
|
2019-05-23 10:37:19 +00:00
|
|
|
</values>
|
|
|
|
</substitution>
|
|
|
|
</substitutions>
|
|
|
|
|
|
|
|
<preconditions>
|
|
|
|
<table_exists>test.hits</table_exists>
|
|
|
|
</preconditions>
|
|
|
|
|
2020-04-30 05:10:13 +00:00
|
|
|
<create_query>CREATE TABLE IF NOT EXISTS table_{format_slow} ENGINE = File({format_slow}, '/dev/null') AS test.hits</create_query>
|
|
|
|
<create_query>CREATE TABLE IF NOT EXISTS table_{format_fast} ENGINE = File({format_fast}, '/dev/null') AS test.hits</create_query>
|
2019-05-31 08:05:26 +00:00
|
|
|
|
2020-04-30 05:10:13 +00:00
|
|
|
<query>INSERT INTO table_{format_slow} SELECT * FROM test.hits LIMIT 10000</query>
|
|
|
|
<query>INSERT INTO table_{format_fast} SELECT * FROM test.hits LIMIT 100000</query>
|
2019-05-23 10:37:19 +00:00
|
|
|
|
2020-04-30 05:10:13 +00:00
|
|
|
<drop_query>DROP TABLE IF EXISTS table_{format_slow}</drop_query>
|
|
|
|
<drop_query>DROP TABLE IF EXISTS table_{format_fast}</drop_query>
|
2019-05-23 10:37:19 +00:00
|
|
|
</test>
|