Commit Graph

278 Commits

Author SHA1 Message Date
Azat Khuzhin
5871ca0836 Fix performance tests due to warnings from jemalloc about Per-CPU arena disabled
jemalloc can show the following warning:

    Number of CPUs detected is not deterministic. Per-CPU arena disabled

It will be shown if one of the following returns different number of
CPUs:
- _SC_NPROCESSORS_ONLN
- _SC_NPROCESSORS_CONF
- sched_getaffinity()

And actually for my CPU linux returns different numbers, because there
are more possible CPUs then online, from dmesg:

    smpboot: Allowing 128 CPUs, 64 hotplug CPUs

And from sysfs:

    # grep . /sys/devices/system/cpu/{possible,online,offline}
    /sys/devices/system/cpu/possible:0-127
    /sys/devices/system/cpu/online:0-63
    /sys/devices/system/cpu/offline:64-127

From ACPI:

    # acpidump -o acpi
    # acpixtract -a acpi
    # iasl -d *.dat
    # grep -e 'Processor Enabled' apic.dsl | sort | uniq -c
        64                            Processor Enabled : 0
        64                            Processor Enabled : 1

So I guess this is the same as what happened in this perf run [1].

  [1]: https://s3.amazonaws.com/clickhouse-test-reports/51360/5d43a64112711b339b82b1c0e8df7882546a1a3c/performance_comparison_[4_4]/report.html

P.S. personally I, just use cmdline=possible_cpus=64 to fix this for my
setup.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-06-25 09:37:37 +02:00
Azat Khuzhin
b8b6d597ae
Avoid OOM in perf tests (#46641)
* Avoid OOM in perf tests

At some point perf tests started to fail for one setup on CI [1]:

    /home/ubuntu/actions-runner/_work/_temp/f8fce7b1-8bc4-49c8-a203-c96867f4420a.sh: line 5: 1882659 Killed                  python3 performance_comparison_check.py "$CHECK_NAME"
    Error: Process completed with exit code 137.

  [1]: https://github.com/ClickHouse/ClickHouse/actions/runs/4230936986/jobs/7349818625

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>

* Switch perf tests to ubuntu 22.04 for parallel with --memsuspend

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>

---------

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-02-23 14:05:18 +01:00
Alexander Tokmakov
669c4e94d5
Update compare.sh 2023-02-20 17:35:30 +03:00
Robert Schulze
de8fc04b03
Performance report: "Partial queries" --> "Backward-incompatible queries 2023-01-22 17:43:27 +00:00
Alexey Milovidov
42f25cb6a6
Amend 2023-01-07 00:57:47 +03:00
Alexey Milovidov
22fcabd229
Remove expert-level grep usages. 2023-01-07 00:57:11 +03:00
Alexey Milovidov
0b324ab836 Modern tools 2023-01-01 20:53:06 +01: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
Nikita Taranov
9f1ee52b00
Run all queries from changed perf tests (#40322)
* impl

* fix
2022-08-19 19:46:07 +02:00
Alexander Tokmakov
3bc583c22b
Revert "copy self-extracting to output" 2022-08-08 20:13:40 +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
Ilya Yatsishin
64befe9753 Filter out incompatible performance test 2022-06-02 14:29:24 +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
Azat Khuzhin
8d87e48cb4 Simplify perf scripts by using schema inference 2022-04-17 09:01:15 +03:00
Nikolai Kochetov
3849e63ab1 Change database 2022-03-29 19:06:50 +00:00
alesapin
b838a7dcb0 Remove outdated links from CI 2022-03-28 15:53:22 +02: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
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
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
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
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
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
Alexander Kuzmenkov
a7d405759c fix decimal formatting settings in perf test 2021-08-19 21:44:04 +03:00
Alexander Kuzmenkov
43602a838a
Update compare.sh 2021-08-16 18:14:47 +03:00
Alexander Kuzmenkov
cfb317a9a9
Update compare.sh 2021-07-22 18:37:20 +03:00
Alexey Milovidov
7ae15fee31 Change performance test after adjusted the name of column 2021-07-05 22:08:29 +03:00