Commit Graph

571 Commits

Author SHA1 Message Date
alesapin
130c09f348 Fix search for old version 2021-11-18 13:38:59 +03:00
alesapin
7f09941c72 Add performance comparison check 2021-11-16 14:16:10 +03:00
Azat Khuzhin
9e622b5add perf: switch *_log tables to Memory engine (attempt to reduce cache misses)
trace_log/query_log from performance tests shows (for
cases when prewarm query fails with timeout, 15sec) excessive
writeTraceInfo() in trace_log and QueryProfilerRuns in query_log, but
this is not the root cause of the timeout, but consequence.

Also query_log shows that on failures the following profile events has
significantly higher values:
- PerfLocalMemoryMisses (6.3x more)
- PerfLocalMemoryReferences (7x more)
- PerfDataTLBMisses (6.9x more)
- PerfInstructionTLBMisses (6.4x more)

During looking at performance tests logs I noticed that once the prewarm
query fails other server (left/right) was merging (MergeTree) something
in *_log tables.

But, using MergeTree for *_log in performance tests is useless, since
anyway environment for performance tests uses ramdrive.

And so MergeTree merges just increase overhead.

Eventually I expect that this should decrease extra memory referencing
and so this should decrease cache/TLB misses.

CI: https://clickhouse-test-reports.s3.yandex.net/30886/c504e0c08df7a926bb479a1d297f326f5c48a32f/performance_comparison/report.html#fail1

v2: <partition_by remove="remove"/>
2021-11-04 09:26:46 +03:00
Azat Khuzhin
ff19d22305 perf: remove over *_log tables that does not exported into artifacts 2021-11-03 08:29:18 +03:00
Azat Khuzhin
837fe8554f perf: remove zookeeper to avoid configuring DDLWorker 2021-11-03 08:29:18 +03:00
Azat Khuzhin
acef85b17d perf: cleanup server overrides 2021-11-03 08:29:18 +03:00
Azat Khuzhin
afd960db4e perf: remove redundant query profiler set queries 2021-11-03 08:09:43 +03:00
avogar
4e63311bb6 Try fix perf test 2021-11-01 12:13:29 +03:00
Azat Khuzhin
9eef2ad0c2 perf: reduce number of times the query will run
Before this patch:

- upstream/master and PR's *with* perf tests or pef scripts changes:
  --runs=13 --max-queries=0

- PRs *without* perf changes:
  --runs=7 --max-queries=20

- PRs w/ only perf tests changes:
  --runs-13 --max-queries=0 <list of perf tests>

After:

- upstream/master and PR's *with* perf tests changes:
  --runs=13 --max-queries=0

- PRs *without* perf changes:
  --runs=7 --max-queries=10

- PRs w/ only perf tests changes:
  --runs-13 --max-queries=0 <list of perf tests>

So to underline, now we will not look at perf scripts changes anymore,
and we will also decrease number of random queries to run to 10.
2021-10-27 23:20:51 +03:00
Azat Khuzhin
7957079f95 perf: disable query/memory profiling for non prewarm queries 2021-10-27 23:20:51 +03:00
Azat Khuzhin
190459db33 perf: add queries with errors during process too to the perf artifacts
Sometimes queries fails with timeout, and you will not get any perf
metrics for it before this patch.

Example: https://clickhouse-test-reports.s3.yandex.net/30611/5ff6c5536558821824d5fdf25a75729e5b82060d/performance_comparison/report.html#partial-queries.flat_dictionary.5
2021-10-27 23:20:51 +03:00
Azat Khuzhin
722d528218 perf: pin clickhouse-driver to 0.2.1 for tzlocal <0.3 to avoid warning
CI report [1]:

    /usr/local/lib/python3.6/dist-packages/clickhouse_driver/columns/datetimecolumn.py:199: PytzUsageWarning: The zone attribute is specific to pytz's interface; please migrate to a new time zone provider. For more details on how to do so, see https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html

  [1]: https://clickhouse-test-reports.s3.yandex.net/30626/dfc85841134aa96b4e04c401462898eb305e8657/performance_comparison/report.html#changes-in-performance.format_date_time.1
2021-10-27 23:20:51 +03:00
Alexey Milovidov
2ec75b824b Revert "repo.clickhouse.tech is not 100% ready"
This reverts commit 8616ba62e4.
2021-09-29 02:43:20 +03:00
Alexey Milovidov
fb7ce28198 Merge branch 'master' into yandex-to-clickhouse-in-configs 2021-09-26 02:10:11 +03:00
Alexey Milovidov
90e74aff70 Fix performance test 2021-09-26 02:08:46 +03:00
Alexey Milovidov
8616ba62e4 repo.clickhouse.tech is not 100% ready 2021-09-24 04:41:59 +03:00
Alexey Milovidov
e9e77b4403 .tech -> .com 2021-09-22 03:22:57 +03:00
Alexey Milovidov
e513a5db32 Change <yandex> to <clickhouse> in configs 2021-09-20 01:38:53 +03:00
alesapin
0eac4529e0 Preparation 2021-09-06 14:33:39 +03:00
Alexey Milovidov
143744f5a7 Fix perf test 2021-08-31 02:53:55 +03:00
Yatsishin Ilya
91289983c6 Use ru.archive.ubuntu.com as default one is not responding from CI 2021-08-23 11:22:39 +03:00
alexey-milovidov
7127905909
Merge pull request #27884 from ClickHouse/aku/decimal-formatting
fix decimal formatting settings in perf test
2021-08-20 09:04:18 +03:00
Alexander Kuzmenkov
a7d405759c fix decimal formatting settings in perf test 2021-08-19 21:44:04 +03:00
Alexander Kuzmenkov
96a5c4b033
Merge pull request #27752 from ClickHouse/akuzm-patch-1
try to collect some core dumps in perf tests
2021-08-19 14:47:49 +03:00
Alexander Kuzmenkov
db53638a95
Update download.sh 2021-08-19 01:21:51 +03:00
Alexander Kuzmenkov
7f15c5c55e
Update entrypoint.sh 2021-08-19 01:21:23 +03:00
Alexander Kuzmenkov
59e3cb18f4
Update entrypoint.sh 2021-08-18 10:58:21 +03:00
Alexander Kuzmenkov
8199399159
Update entrypoint.sh 2021-08-18 07:00:51 +03:00
Alexander Kuzmenkov
c9404c1fb8
Update entrypoint.sh 2021-08-17 13:30:51 +03:00
Alexander Kuzmenkov
7bbbb19b48
try to collect some core dumps in perf tests 2021-08-16 20:05:50 +03:00
Alexander Kuzmenkov
43602a838a
Update compare.sh 2021-08-16 18:14:47 +03:00
Maksim Kita
aabb1d04bd
Merge pull request #27190 from ClickHouse/aku/perf-settings
properly check the settings in perf test
2021-08-05 10:56:39 +03:00
Alexander Kuzmenkov
cfcb0e4b22 properly check the settings in perf test 2021-08-04 19:41:21 +03:00
Alexander Kuzmenkov
cfb317a9a9
Update compare.sh 2021-07-22 18:37:20 +03:00
alexey-milovidov
80eaf85301
Merge pull request #24416 from elevankoff/system-metrics
Common system metrics collection
2021-07-07 03:21:49 +03:00
Alexey Milovidov
7ae15fee31 Change performance test after adjusted the name of column 2021-07-05 22:08:29 +03:00
Maksim Kita
577e69898a Compile aggregate functions perf tests fix 2021-07-05 12:17:01 +03:00
Azat Khuzhin
a471ebdabe Fix performance tests after converting ProfileEvents to Map type 2021-06-30 21:00:36 +03:00
Maksim Kita
352e1f27ff Update using Map datatyle in system log tables before merge 2021-06-28 14:42:21 +03:00
Maksim Kita
294b937a39
Merge branch 'system-query-log-map-type-merge' into system-querylog-map-continue 2021-06-28 11:27:59 +03:00
Alexey Milovidov
ebc2fbfd63 Performance test: be more generous 2021-06-27 03:14:42 +03:00
Alexey Milovidov
779f5eca94 Relax max test time for performance test; fix comment 2021-06-16 11:26:00 +03:00
Alexander Kuzmenkov
f9f5b7945e
fix shellcheck 2021-06-09 14:40:38 +03:00
Alexander Kuzmenkov
f4d7baaaff Merge remote-tracking branch 'origin/aku/perf-test' into HEAD 2021-06-08 18:10:19 +03:00
Alexander Kuzmenkov
07fceb667e fix 2021-06-08 17:12:47 +03:00
alexey-milovidov
cd2ca76b24
Update compare.sh 2021-06-06 12:57:18 +03:00
Alexander Kuzmenkov
1c5e069d0d fixes 2021-06-04 18:27:21 +03:00
Alexander Kuzmenkov
8554cb621e some perf test script improvements 2021-06-03 20:40:05 +03:00
Alexander Kuzmenkov
5da54c2745 calculate perf test precision thresholds from historical data 2021-05-26 16:30:43 +03:00
Alexander Kuzmenkov
a1749cf5c3 fix 2021-05-20 15:05:20 +03:00
Alexander Kuzmenkov
6afd9f84f1 longer 2021-05-19 13:25:43 +03:00
Alexander Kuzmenkov
91835369cf fixup 2021-05-15 09:44:14 +03:00
Alexander Kuzmenkov
7719c1d933 collect profiles during warmup 2021-05-15 09:43:56 +03:00
Alexander Kuzmenkov
15564f32b2 Merge remote-tracking branch 'origin/master' into HEAD 2021-05-14 13:16:31 +03:00
Alexander Kuzmenkov
3e5f85ddd3 run short queries longer 2021-05-13 12:20:02 +03:00
Alexander Kuzmenkov
3aa919b498 fixes 2021-05-13 12:16:43 +03:00
Alexander Kuzmenkov
d7b726045a fixes 2021-05-13 01:32:53 +03:00
Alexander Kuzmenkov
8629b29083 complain about unstable perf test queries
We don't want to introduce more of them. The old ones should be all marked by now.
2021-05-12 12:48:13 +03:00
Maksim Kita
d78c1f11d0 Performance tests disable compile expressions 2021-05-12 11:06:10 +03:00
hexiaoting
a1d521902c Merge remote-tracking branch 'origin/master' into dev-continue-sundyli 2021-05-07 14:22:53 +08:00
Alexander Kuzmenkov
0c1e897e80
Merge pull request #23707 from ClickHouse/aku/perf-stable-query-index
stable query indexes in perf test
2021-04-28 13:06:53 +03:00
Alexander Kuzmenkov
cc0dd732d9 stable query indexes in perf test 2021-04-28 00:58:37 +03:00
Alexander Kuzmenkov
1e7fc204d8
Merge pull request #23554 from ClickHouse/aku/perf-numa-attributes
add numactl info to perf test run attributes
2021-04-27 14:09:57 +03:00
Alexander Kuzmenkov
bfa47f7c5f
Update compare.sh 2021-04-26 12:41:29 +03:00
Alexander Kuzmenkov
5d101336ff fix 2021-04-26 12:39:54 +03:00
Alexander Kuzmenkov
c40a300d03 add numactl info to perf run attributes 2021-04-23 23:52:18 +03:00
Alexander Kuzmenkov
5f1c825e1d
Update compare.sh 2021-04-23 22:01:24 +03:00
Alexander Kuzmenkov
e052edc7df
Update compare.sh 2021-04-23 20:32:30 +03:00
Alexander Kuzmenkov
bcc0744adb fix 2021-04-23 18:54:48 +03:00
Alexander Kuzmenkov
e51c844e2c add more info to perf test report 2021-04-23 16:47:33 +03:00
Alexander Kuzmenkov
0b990c9519
Merge pull request #23514 from ClickHouse/aku/perf-test-cpu-model
upload cpu model to perf test db
2021-04-23 09:25:51 +03:00
Alexander Kuzmenkov
3f855cb714 more 2021-04-22 20:18:21 +03:00
Alexander Kuzmenkov
6a1414663f upload cpu model to perf test db 2021-04-22 19:48:32 +03:00
Azat Khuzhin
6fba6f7ddd Disable min_bytes_to_use_mmap_io by default
Reading files using mmap() does not have any significant benefits over
plain read() [1].

  [1]: https://gist.github.com/azat/3d6c8d82bdd91e7a38d997fd6bcfd574

And not only it does not have significant benefits, it also has some
issues, due to max_server_memory_usage (default to 90% of available
RAM), since when you read files with mmap() eventually process RSS may
exceed max_server_memory_usage, and in this case any allocation will
fail (with "Memory limit exceeded (total)") error (yes kernel will
unload pages, but likely it will happens after queries will starting to
fail), like in this test [2].

  [2]: https://gist.github.com/azat/4813489828162e6c2ce131963c6a1acb

TL;DR;

Note that there was also an idea to take those mmap()'ed regions in
memory tracking (#23211), but there are some drawbacks (since accounting
mmap() is tricky, first of all you need to account only once per inode
for file and plus kernel can unload some pages and those memory will not
be used by the server anymore).

And as an adddition to #23211 there was #23212, that adds
max_bytes_to_use_mmap_io, but since mmap is not a subject for memory
accounting there is no need in it.
2021-04-20 00:25:16 +03:00
Alexander Kuzmenkov
2a4bcb6e3f
Merge pull request #23159 from ClickHouse/aku/merge-fusecount
merging sumCount fusion PR #21337
2021-04-19 16:47:13 +03:00
Azat Khuzhin
7083d126f7 Disable postgresql_port in perf tests
To avoid port overlaps
2021-04-17 15:28:09 +03:00
Alexander Kuzmenkov
2489b6af96 cleanup 2021-04-15 19:40:49 +03:00
alexey-milovidov
0c70b06960
Merge branch 'master' into system-querylog-map 2021-03-31 04:54:30 +03:00
Alexander Tokmakov
9925110713 rename other occurrances 2021-03-29 23:04:50 +03:00
Alexander Kuzmenkov
b0284f20c3
Merge branch 'master' into aku/laglead 2021-03-22 21:16:27 +03:00
Alexander Kuzmenkov
5ae5134147
Merge pull request #21846 from ClickHouse/aku/perf-test-error
more robust error handling in perf test
2021-03-22 17:18:37 +03:00
Alexander Kuzmenkov
1beba597ca Merge remote-tracking branch 'origin/master' into HEAD 2021-03-19 02:11:08 +03:00
Alexander Kuzmenkov
6aa9039f7d float frames and lag/lead_in_frame 2021-03-19 02:05:43 +03:00
Alexander Kuzmenkov
8ab778e26a
Merge pull request #21754 from ClickHouse/aku/fuzzer-ci-sources
make the fuzzer use sources from the CI
2021-03-18 18:02:13 +03:00
Alexander Kuzmenkov
f2ac17cfba
Update compare.sh 2021-03-18 17:59:49 +03:00
Alexander Kuzmenkov
065faf1318 more robust error handling in perf test 2021-03-18 01:32:55 +03:00
Alexander Kuzmenkov
a78b234a6d fixes 2021-03-15 21:45:57 +03:00
Denis Glazachev
6f4e883d8d Factor out settings
Enable parallel insert select
Reduce the amount of data to process
2021-03-06 15:09:45 +04:00
Nikolai Kochetov
a195e783d2 Try fix perftests. 2021-03-04 13:25:49 +03:00
Alexander Kuzmenkov
f169be740a
Merge pull request #21381 from ClickHouse/aku/perf-negative
fix a rare false negative in perf tests
2021-03-03 15:55:14 +03:00
Nikolai Kochetov
019513d869 Try fix perftests. 2021-03-03 13:42:44 +03:00
Alexander Kuzmenkov
08148e062f Fix a rare false negative in perf tests 2021-03-02 19:21:30 +03:00
Azat Khuzhin
9a26409147 Fix performance tests (by avoid sharding status file for right and left server)
Since cp -al (hard links):

    2021.02.21 01:09:09.991771 [ 243 ] {} <Information> StatusFile: Status file right/db/status already exists - unclean restart. Contents:
    PID: 241
    Started at: 2021-02-21 01:09:09
    Revision: 54448

    2021.02.21 01:09:09.992007 [ 243 ] {} <Error> Application: DB::Exception: Cannot lock file right/db/status. Another server instance in same directory is already running.
2021-02-21 10:56:48 +03:00
Alexey Milovidov
0d2d2dc2ed Merge branch 'master' into sundy-li/system-querylog-map 2021-02-18 00:47:54 +03:00
Alexander Kuzmenkov
c18749a704 fix a bug and add some tests 2021-02-09 17:44:04 +03:00
sundyli
77194e4a5d
Merge branch 'master' into system-querylog-map 2021-01-28 09:59:41 +08:00
Amos Bird
a2ceca3fa1
Fix recursive propagation 2021-01-26 10:29:12 +08:00
sundy-li
339133f32a Support Map for OpenTelemetrySpanLog && improve docs update 2021-01-22 13:16:13 +08:00
Azat Khuzhin
de7909211d Try using top_level_domains from the patched performance archive
If there is top_level_domains list in the upstream/master, use from the
patched version (this is required to run all performance tests for
upstream/master in the PR).
2021-01-02 17:27:03 +03:00
Azat Khuzhin
469b631ca6 Fix performance comparison
In #18113 the top_level_domains list copying was moved into
docker/packager/binary/build.sh, this was done to avoid symlinks (since
Dockerfile cannot dereference them).

But the patch was wrong, since it copied into the root (/), which is not
included into performance.tgz and also compare.sh was not modified.

This wasn't showed up with CI checks since the docker image wasn't
updated and it still included that top_level_domains, once it was
modified the image was updated and it became broken.

Cc: @akuzm
2021-01-02 17:09:20 +03:00
Azat Khuzhin
95c35b318e Avoid using symlinks for top_level_domains
Move the main copy into the tests/config and ship it to the perf tests
via the perf package.
2020-12-15 21:58:46 +03:00
Alexander Kuzmenkov
5f424f7c5c
Update zzz-perf-comparison-tweaks-config.xml 2020-12-14 20:08:32 +03:00
Alexander Kuzmenkov
e7f93b5563
Merge pull request #18058 from azat/perf-test-zk-port-fix
Remove test_keeper_server in perf tests
2020-12-14 17:54:47 +03:00
Alexander Kuzmenkov
2edabd5519
Update zzz-perf-comparison-tweaks-config.xml 2020-12-14 17:45:58 +03:00
Azat Khuzhin
653ddab63e Remove test_keeper_server in perf tests
To avoid port overlaps for right and left server (anyway it is not
used).
2020-12-14 10:59:01 +03:00
Azat Khuzhin
6f2c559398 Convert top_level_domains_lists.xml into regular file
docker/test/performance-comparison/config/config.d is not allowed to has
symlinks, since it is copied with the COPY docker command.
2020-12-10 21:01:17 +03:00
Azat Khuzhin
0f1d9f3a6f Put top_level_domains into the docker/test/performance-comparison/config
Since in docker/test/performance-comparison there is Dockerfile that is
runned from that directory, so it cannot COPY anything outside of it.
2020-12-09 21:08:31 +03:00
Azat Khuzhin
8a4b29495b perf: override top_level_domains_path via command line arguments 2020-12-09 21:08:31 +03:00
Azat Khuzhin
7b0c720922 Add top_level_domains into perf tests
And change Dockerfile to trigger image rebuild
2020-12-09 21:08:31 +03:00
Azat Khuzhin
79e6348282 perf: load overrides last of all 2020-12-09 07:31:54 +03:00
Azat Khuzhin
d33b0ad33b Use interserver_http_port remove=remove over auto-port
Revert "perf: fix port conflict for tcp_with_proxy_port"

This reverts commit 89b3566824e5c0a87b6310fc4b6f9d300d2e17db.
2020-12-09 00:11:12 +03:00
Azat Khuzhin
75f9640fc2 perf: fix port conflict for tcp_with_proxy_port
Simply use zero port to do auto allocation, anyway it is not used in
perf tests.
2020-12-08 23:29:38 +03:00
Azat Khuzhin
f1ac8775db perf: override config directives via command line over sed by config.xml 2020-12-08 21:25:03 +03:00
Azat Khuzhin
3696916f44 perf: add setuptools into docker image (to built clikchouse-driver) 2020-11-27 07:20:41 +03:00
Azat Khuzhin
04a93f18e8 perf: fail on unknown settings 2020-11-27 00:16:41 +03:00
Azat Khuzhin
a591886740 perf: remove outdated comments from perf.py
Refs: https://github.com/ClickHouse/ClickHouse/pull/17255#discussion_r528822709
2020-11-27 00:16:41 +03:00
Azat Khuzhin
a38628d967 perf: use the latest available clickhouse-driver (from git)
Since later setting_is_important will be used, but there is no release
with this feature included.
2020-11-27 00:16:41 +03:00
myrrc
fbb0e6e6aa Merge remote-tracking branch 'upstream/master' into improvement/diff-types-in-avg-weighted 2020-11-24 16:04:17 +03:00
Alexander Kuzmenkov
a543c8e468 Add an option to use existing tables to perf.py 2020-11-23 21:05:54 +03:00
Azat Khuzhin
d676e2f5c5 Pass settings for perf tests via protocol over SET query
Thus they will be applied on reconnects, since clickhouse-driver may
implicitly do it if the connection has been failed.
2020-11-21 14:02:33 +03:00
Azat Khuzhin
3ddb0ac53e Configure logging for perf test runner 2020-11-21 14:02:33 +03:00
Azat Khuzhin
f6d16ee43e Force clickhouse-driver >= 1.1.5 for settings-as-strings support for perf-tests image 2020-11-21 14:02:33 +03:00
Alexander Kuzmenkov
b0e660651a cleanup 2020-11-16 19:09:58 +03:00
Alexander Kuzmenkov
030419db90 Try 12 threads max in perf test.
This will allow us to use more machines, not only Gold 6320.
2020-11-09 19:14:05 +03:00
Alexander Kuzmenkov
dc665d7c43
Update compare.sh 2020-11-06 13:45:42 +03:00
Alexander Kuzmenkov
ac487ab26a
Update compare.sh 2020-11-05 23:45:58 +03:00
Alexander Kuzmenkov
8d5fe1148c add client config 2020-11-04 18:07:34 +03:00
Alexander Kuzmenkov
5cb708a50a fixup 2020-11-04 04:19:53 +03:00
Alexander Kuzmenkov
4245c470ac fixes 2020-11-03 17:37:54 +03:00
Alexander Kuzmenkov
a25996ed8d Upload perf test results to the CI database 2020-11-03 02:10:19 +03:00
Mikhail Filimonov
41971e073a
Fix typos reported by codespell 2020-10-27 12:04:03 +01:00
Alexander Kuzmenkov
e27dd538fd performance comparison 2020-10-26 19:35:37 +03:00
Alexander Kuzmenkov
0275e9c010 work around docker weirdness 2020-10-22 19:42:31 +03:00
Alexander Kuzmenkov
ac7af67ede fixup 2020-10-22 15:52:43 +03:00
Alexander Kuzmenkov
6293d1dbbe Merge remote-tracking branch 'origin/master' into HEAD 2020-10-21 18:39:59 +03:00
Alexander Kuzmenkov
a678f03229 fixup 2020-10-21 18:21:54 +03:00
Alexander Kuzmenkov
c10dada3d4 try node 1 2020-10-21 18:06:42 +03:00
Alexander Kuzmenkov
abcb3c2ff9
Update report.py 2020-10-20 20:06:51 +03:00
Alexander Kuzmenkov
6b0225ab8c
Update README.md 2020-10-20 19:52:37 +03:00
Alexander Kuzmenkov
242ec7e56c make some tests faster 2020-10-20 15:12:06 +03:00
Alexander Kuzmenkov
764f19820b max threads 2020-10-19 17:39:52 +03:00
Alexander Kuzmenkov
38a2dd55ce fix numactl parameters 2020-10-19 17:31:02 +03:00
Alexander Kuzmenkov
2241ea9f33 not sure what's going on... 2020-10-16 17:44:59 +03:00
Alexander Kuzmenkov
0825b8f4c2 Merge remote-tracking branch 'origin/master' into HEAD 2020-10-16 17:41:40 +03:00
Azat Khuzhin
9cb3c743bd
Convert to python3 (#15007) 2020-10-02 19:54:07 +03:00
Alexander Kuzmenkov
13c325597a Merge remote-tracking branch 'origin/master' into HEAD 2020-10-01 13:57:04 +03:00
Alexander Kuzmenkov
74f8e41b55 calculate on all nodes 2020-10-01 13:56:56 +03:00
Alexander Kuzmenkov
499e0766e5 Check docker scripts with shellcheck 2020-09-30 20:06:46 +03:00
Alexander Kuzmenkov
aa543a2d3d quotes 2020-09-30 17:40:24 +03:00
Alexander Kuzmenkov
9f63e882c7 fixup 2020-09-30 15:03:52 +03:00