Commit Graph

608 Commits

Author SHA1 Message Date
Alexey Milovidov
22fcabd229
Remove expert-level grep usages. 2023-01-07 00:57:11 +03:00
Alexey Milovidov
e54d30a812
Merge branch 'master' into modern-tools 2023-01-05 21:24:47 +03:00
Alexey Milovidov
0b324ab836 Modern tools 2023-01-01 20:53:06 +01:00
Raúl Marín
91dea53dbe Perf test: Log the time spent waiting for file sync 2022-12-30 12:03:43 +01:00
Azat Khuzhin
4c1fb543e1
Sync everything to persistent storage to avoid writeback affects perf tests (#43530)
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-01 13:42:59 +01:00
BoloniniD
452ef4435b Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-09-16 20:05:56 +03:00
Nikita Taranov
def4eeac70
Fix perf tests (#41332)
We run left server two times. If after the first run server will not be properly stopped, we will get `Address already in use: [::]:9001` exception on the second run.
2022-09-15 12:27:08 +02:00
BoloniniD
fe239e7ee9 Fix style + free err_msg before throwing exception 2022-09-12 18:46:54 +03:00
BoloniniD
e8bcbcd016
Merge branch 'master' into BLAKE3 2022-09-09 11:48:31 +03:00
Nikita Taranov
9f1ee52b00
Run all queries from changed perf tests (#40322)
* impl

* fix
2022-08-19 19:46:07 +02:00
Alexey Milovidov
f7d995681b
Merge branch 'master' into replace-yandex-to-noto 2022-08-09 22:43:52 +03:00
Alexander Tokmakov
3bc583c22b
Revert "copy self-extracting to output" 2022-08-08 20:13:40 +03:00
Alexey Milovidov
0349d9da96 Change font in CI reports just in case (might be worse) 2022-08-08 07:25:29 +02:00
Alexey Milovidov
36e6500e54
Merge branch 'master' into BLAKE3 2022-07-30 23:14:05 +03:00
Yakov Olkhovskiy
f5442cba86 clickhouse may be compressed - run once to decompress 2022-07-29 15:06:15 -04:00
Vladimir C
bfba67cf88
Update docker/test/performance-comparison/compare.sh 2022-07-08 17:13:20 +02:00
Vladimir C
9555d72dfc
Remove head ci-checks.tsv 2022-07-08 15:26:07 +02:00
vdimir
f701b58dd0
Update check_name in performance comparsion upload 2022-07-05 14:24:58 +02:00
vdimir
e4917914ae
Revert "show grants in compare.sh"
This reverts commit 4d3a64b318aa665bf1494cca6ae94e58dc8d361e.
2022-07-05 14:00:27 +02:00
vdimir
3731bd44c1
Revert "[testing] run only one perftest"
This reverts commit 3b079827b78e04ac20043346998ce9d546969746.
2022-07-05 14:00:26 +02:00
vdimir
051dd63a62
Fix types in ci-checks.tsv in compare.sh 2022-07-05 14:00:26 +02:00
vdimir
c1d44fee9f
upd compare.sh 2022-07-05 14:00:26 +02:00
vdimir
b1ee16ef77
show grants in compare.sh 2022-07-05 14:00:26 +02:00
vdimir
18dc718e4e
do not create tables for perf tests 2022-07-05 14:00:25 +02:00
vdimir
f8fa10578c
Use default database for perf tests 2022-07-05 14:00:25 +02:00
vdimir
7352c26e89
create tables for perf tests 2022-07-05 14:00:25 +02:00
vdimir
45b2b1ca8a
[wip] persist pertest results 2022-07-05 14:00:24 +02:00
vdimir
c2d774d598
[testing] run only one perftest 2022-07-05 14:00:24 +02:00
vdimir
aac2f8aefc
Rename envs for performance comparsion 2022-07-05 14:00:24 +02:00
Alexander Tokmakov
4bf1443dae
Update download.sh 2022-06-30 01:00:08 +03:00
Alexander Tokmakov
cd2cb10f60
another try to fix performance tests 2022-06-29 20:55:46 +03:00
Alexander Tokmakov
baeb1811e1
try to fix performance tests 2022-06-29 16:59:16 +03:00
BoloniniD
b05ee41d25 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-06-06 16:03:10 +03:00
Ilya Yatsishin
64befe9753 Filter out incompatible performance test 2022-06-02 14:29:24 +02:00
BoloniniD
dd8aefdf1e Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-06-01 11:46:55 +03:00
Mikhail f. Shiryaev
79c30f5e58
Do not fail if output and workspace are the same 2022-05-18 01:38:46 +02:00
Mikhail f. Shiryaev
1f67665c95
Build performance output in release builds 2022-05-18 01:38:44 +02:00
Mikhail f. Shiryaev
37533eb14b
Improve comment FIXME for errors report 2022-05-04 16:56:43 +02:00
Mikhail f. Shiryaev
2b67208dea
Ignore slow query as errors in performance tests report 2022-05-04 13:02:48 +02:00
Alexey Milovidov
88826e2da5 Remove "preconditions" from performance tests (overengineering, unneeded feature) 2022-05-02 02:33:22 +02:00
Alexey Milovidov
1dc56e39fc black . 2022-04-29 04:39:21 +02:00
Alexey Milovidov
2a3a2184ec Refinement 2022-04-29 04:37:57 +02:00
Alexey Milovidov
2d7d67e7bc Remove special handling of "short" queries - the logic is too ad-hoc, it pollutes the code and is difficult to handle 2022-04-29 04:27:57 +02:00
Mikhail f. Shiryaev
74a755d170
Use just index to split tests by group 2022-04-22 20:34:34 +02:00
BoloniniD
a353210e94 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-04-21 18:44:42 +03:00
tavplubix
2d34d46b28
Update entrypoint.sh 2022-04-20 21:38:49 +03:00
Azat Khuzhin
8d87e48cb4 Simplify perf scripts by using schema inference 2022-04-17 09:01:15 +03:00
BoloniniD
30712ead45
Merge branch 'master' into BLAKE3 2022-04-13 00:45:44 +03:00
Nikolai Kochetov
3849e63ab1 Change database 2022-03-29 19:06:50 +00:00
BoloniniD
2d2420c8a9 Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-03-29 11:00:50 +03:00
alesapin
b838a7dcb0 Remove outdated links from CI 2022-03-28 15:53:22 +02:00
Mikhail f. Shiryaev
e6f5a3f98b
Apply black formatter to all *.py files in the repo 2022-03-22 17:39:58 +01:00
Alexey Milovidov
d0716b035f
Revert "Change timezone in Docker" 2022-03-13 04:03:06 +03:00
Alexey Milovidov
6b9129c494 Change timezone in Docker 2022-03-11 23:21:45 +01:00
BoloniniD
c8bb6fb38a Merge branch 'master' of github.com:ClickHouse/ClickHouse into BLAKE3 2022-02-13 12:47:18 +03:00
BoloniniD
677b5ea6aa Add MSan support for BLAKE3 lib 2022-02-13 12:46:20 +03:00
Mikhail f. Shiryaev
c19d0a3494
Update performance-comparison, fix x86 hard-code 2022-02-11 18:26:41 +01:00
Mikhail f. Shiryaev
2d02eab750
Revert "Merge pull request #34373 from ClickHouse/docker-tz"
This reverts commit efd8044ab7, reversing
changes made to 4bb69bcb15.
2022-02-08 15:34:01 +01:00
Mikhail f. Shiryaev
4a1e84306a
Update performance comparison OS version 2022-02-07 12:57:58 +01:00
Mikhail f. Shiryaev
4a857d7d18
Use UTC in docker images 2022-02-07 12:35:32 +01:00
BoloniniD
a744378cc7 Fix performance test 2022-01-27 20:14:50 +03:00
BoloniniD
620f6ca8c1 Fix performance tests Dockerfile 2022-01-11 22:14:18 +03:00
alesapin
c2e8a73f14 Fix style 2021-12-17 16:43:58 +03:00
alesapin
1931726e15 Followup 2021-12-17 16:19:44 +03:00
alesapin
24480ac4de More agressive retries in perf tests 2021-12-17 16:16:35 +03:00
alesapin
c9b03eaf64
Update entrypoint.sh 2021-12-15 22:28:21 +03:00
alesapin
6f2543b943 Better fix 2021-12-15 18:50:11 +03:00
alesapin
6799ce2162 Add retries to curl 2021-12-15 18:46:40 +03:00
alesapin
3eb5e42972 Trying to allow bigger timeout for prewarm 2021-12-13 18:09:29 +03:00
alesapin
8e1fec39cd Fix bash 2021-12-13 12:58:34 +03:00
alesapin
e2a2d1cdc3 Merge branch 'master' into add_performance_tests 2021-12-13 12:01:31 +03:00
alesapin
cf281b10dc Split perf test into multiple checks 2021-12-13 11:59:58 +03:00
Azat Khuzhin
44f366fd12 Cleanup perf test runner
Use subshell to:
- avoid change/restore of TIMEFORMAT
- grepping out trace output, by using set +x in a subshell
- use array for options to avoid extra backslashes
2021-12-12 13:58:00 +03:00
alesapin
eb51d9550d
Merge branch 'master' into add_performance_tests 2021-12-12 01:01:13 +03:00
Azat Khuzhin
8a89b8e395 perf: do not fail in case of slow queries (to avoid hiding possible issues)
Do not stop processing pathologically slow queries,
since this may hide errors in other queries,
i.e. when the test failed on one of servers (upstream or from PR)
and someone interpret this is as OK with the following comment:

  "the failure was on the upstream server it is OK, PR should fix it"

Anyway there is almost zero such queries right now, and before merging
something this should be reviewed.
2021-12-12 00:15:25 +03:00
tavplubix
85e53b1b1f
Try fix attaching gdb in tests (#32448)
* attach gdb with sudo

* fix

* Update run.sh
2021-12-10 00:12:45 +03:00
alesapin
89ac8da76e Fix build path 2021-12-09 16:02:29 +03:00
alesapin
b62de9b2f4 Merge branch 'master' into add_performance_tests 2021-12-09 11:40:32 +03:00
Azat Khuzhin
3e96b28843 perf: convert killall to pkill (since killall has some magic, see -e option) 2021-12-03 10:56:42 +03:00
Azat Khuzhin
fb0cc62509 perf: fix waiting of the server after running tests
killall requires strict match, i.e. "clickhouse-server" not
"clickhouse":

    2021-12-03 05:24:56      + env kill -- -21700
    2021-12-03 05:24:56      kill: (-21700): No such process
    2021-12-03 05:24:56      + killall clickhouse
    2021-12-03 05:24:56      clickhouse: no process found
    2021-12-03 05:24:56      + echo Servers stopped.
    2021-12-03 05:24:56      Servers stopped.
    2021-12-03 05:24:56      + analyze_queries

    $ tail -n1 *-server-log.log
    ==> left-server-log.log <==
    2021.12.03 05:26:59.530647 [ 450 ] {} <Trace> SystemLog (system.asynchronous_metric_log): Flushed system log up to offset 1668052

    ==> right-server-log.log <==
    2021.12.03 05:27:20.873136 [ 466 ] {} <Trace> SystemLog (system.metric_log): Flushed system log up to offset 9605

    ==> setup-server-log.log <==
    2021.12.03 02:47:14.844395 [ 96 ] {} <Information> Application: Child process exited normally with code 0.

As you can see killall instantly fails with no such process, while this
cannot be true since it was there, and also according to logs there were
messages after running analyze_queries() from compare.sh

This should fix problems like in [1].

  [1]: https://clickhouse-test-reports.s3.yandex.net/32080/344298f4037f88b114b8e798bb30036b24be8f16/performance_comparison/report.html#fail1
2021-12-03 10:55:35 +03:00
Mikhail f. Shiryaev
e97e172dd8
Merge pull request #31822 from ClickHouse/rollback-28016
Rollback changes from #28016: ru.archive.ubuntu.com
2021-11-29 10:27:59 +01:00
Mikhail f. Shiryaev
5408d6232f
Make archive.ubuntu.com mirror configurable for build 2021-11-26 10:55:41 +01:00
alexey-milovidov
e8b29cab6e
Update report.py 2021-11-25 15:37:00 +03:00
Raúl Marín
a6c34fdbc9 Improve how queries are output in the performance dashboard 2021-11-25 11:22:47 +01:00
alesapin
cf2f019caa Disable full run in perf tests 2021-11-24 23:05:27 +03:00
alesapin
2396f73e08 Fix performance tests comparison 2021-11-23 11:34:10 +03:00
alesapin
9e440988cf Add datasets 2021-11-19 16:10:49 +03:00
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