performance comparison

This commit is contained in:
Alexander Kuzmenkov 2020-04-23 23:18:46 +03:00
parent 2b569cf260
commit 1bf02d459c
5 changed files with 15 additions and 15 deletions

View File

@ -124,11 +124,9 @@ function run_tests
fi fi
# Run only explicitly specified tests, if any # Run only explicitly specified tests, if any
if [ -v CHPC_TEST_GLOB ] if [ -v CHPC_TEST_GREP ]
then then
# I do want to expand the globs in the variable. test_files=$(ls "$test_prefix" | grep "$CHPC_TEST_GREP")
# shellcheck disable=SC2086
test_files=$(ls "$test_prefix"/$CHPC_TEST_GLOB.xml)
fi fi
if [ "$test_files" == "" ] if [ "$test_files" == "" ]
@ -178,7 +176,7 @@ function run_tests
function get_profiles_watchdog function get_profiles_watchdog
{ {
sleep 3000 sleep 6000
echo "The trace collection did not finish in time." >> profile-errors.log echo "The trace collection did not finish in time." >> profile-errors.log
@ -471,7 +469,7 @@ case "$stage" in
;& ;&
"get_profiles") "get_profiles")
# Getting profiles inexplicably hangs sometimes, so try to save some logs if # Getting profiles inexplicably hangs sometimes, so try to save some logs if
# this happens again. Give the servers 5 minutes to collect all info, then # this happens again. Give the servers some time to collect all info, then
# trace and kill. Start in a subshell, so that both function don't interfere # trace and kill. Start in a subshell, so that both function don't interfere
# with each other's jobs through `wait`. Also make the subshell have its own # with each other's jobs through `wait`. Also make the subshell have its own
# process group, so that we can then kill it with all its child processes. # process group, so that we can then kill it with all its child processes.

View File

@ -38,8 +38,8 @@ Then see the `report.html` in the `output` directory.
There are some environment variables that influence what the test does: There are some environment variables that influence what the test does:
* `-e CHCP_RUNS` -- the number of runs; * `-e CHCP_RUNS` -- the number of runs;
* `-e CHPC_TEST_GLOB` -- the names of the tests (xml files) to run, interpreted * `-e CHPC_TEST_GREP` -- the names of the tests (xml files) to run, interpreted
as a shell glob. as a grep pattern.
#### Re-genarate report with your tweaks #### Re-genarate report with your tweaks
From the workspace directory (extracted test output archive): From the workspace directory (extracted test output archive):

View File

@ -215,8 +215,8 @@ if args.report == 'main':
attrs = ['' for c in columns] attrs = ['' for c in columns]
for r in unstable_rows: for r in unstable_rows:
rd = ast.literal_eval(r[3]) rd = ast.literal_eval(r[3])
# Note the zero-based array index, this is rd[3] in SQL. # Note the zero-based array index, this is rd[4] in SQL.
if rd[2] > 0.2: if rd[3] > 0.2:
very_unstable_queries += 1 very_unstable_queries += 1
attrs[3] = 'style="background: #ffb0a0"' attrs[3] = 'style="background: #ffb0a0"'
else: else:

View File

@ -1,11 +1,8 @@
<test> <test>
<query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? ['Hello', 'World'] : ['a', 'b', 'c'])</query> <query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? ['Hello', 'World'] : ['a', 'b', 'c'])</query>
<query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? materialize(['Hello', 'World']) : ['a', 'b', 'c'])</query> <query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? materialize(['Hello', 'World']) : ['a', 'b', 'c'])</query>
<query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? ['Hello', 'World'] : materialize(['a', 'b', 'c']))</query> <query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? ['Hello', 'World'] : materialize(['a', 'b', 'c']))</query>
<query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? materialize(['Hello', 'World']) : materialize(['a', 'b', 'c']))</query> <query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? materialize(['Hello', 'World']) : materialize(['a', 'b', 'c']))</query>
<query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? materialize(['', '']) : emptyArrayString())</query> <query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? materialize(['', '']) : emptyArrayString())</query>
<query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(rand() % 2 ? materialize(['https://github.com/ClickHouse/ClickHouse/pull/1070', 'https://www.google.ru/search?newwindow=1&amp;site=&amp;source=hp&amp;q=zookeeper+wire+protocol+exists&amp;oq=zookeeper+wire+protocol+exists&amp;gs_l=psy-ab.3...330.6300.0.6687.33.28.0.0.0.0.386.4838.0j5j9j5.19.0....0...1.1.64.psy-ab..14.17.4448.0..0j35i39k1j0i131k1j0i22i30k1j0i19k1j33i21k1.r_3uFoNOrSU']) : emptyArrayString())</query> <query>SELECT count() FROM zeros(1000000) WHERE NOT ignore(rand() % 2 ? materialize(['https://github.com/ClickHouse/ClickHouse/pull/1070', 'https://www.google.ru/search?newwindow=1&amp;site=&amp;source=hp&amp;q=zookeeper+wire+protocol+exists&amp;oq=zookeeper+wire+protocol+exists&amp;gs_l=psy-ab.3...330.6300.0.6687.33.28.0.0.0.0.386.4838.0j5j9j5.19.0....0...1.1.64.psy-ab..14.17.4448.0..0j35i39k1j0i131k1j0i22i30k1j0i19k1j33i21k1.r_3uFoNOrSU']) : emptyArrayString())</query>
</test> </test>

View File

@ -15,7 +15,12 @@
<substitution> <substitution>
<name>key</name> <name>key</name>
<values> <values>
<value>1</value> <!--
1 as a key doesn't make much sense - the queries are either
too long in case of uniqExact or too short in case of limited
uniq, so the result is drowned by the noise.
<value>1</value>
-->
<value>SearchEngineID</value> <value>SearchEngineID</value>
<value>RegionID</value> <value>RegionID</value>
<value>SearchPhrase</value> <value>SearchPhrase</value>