ClickHouse/docker/test/stress
Azat Khuzhin ebed6193b4 tests/stress: add core dumps into artifacts
gcore is used here because:

- default kernel.core_pattern is "|/usr/share/apport/apport %p %s %c %d %P %E" [1]
  and so to make it work you need to install apport into container and
  configure it propertly -- to complex

  [1]: https://s3.amazonaws.com/clickhouse-test-reports/33389/204e459d259570e6bc7fe2903f7e516094a916ca/stress_test__address__actions_/runlog.log

- kernel.core_pattern cannot be changed, since proc is mounted in
  read-only mode in non --privileged containers [2]

  [2]: https://s3.amazonaws.com/clickhouse-test-reports/33389/dab3afbd94558f9654bf0aa1e06e06e2962f3bb0/stress_test__address__actions_/runlog.log

v2: change kernel.core_pattern
v3: use gcore, since you are not allowed to change kernel.core_pattern
    in container (only under --privileged)
2022-01-04 14:03:40 +03:00
..
Dockerfile Add correct S3 2021-11-01 13:32:56 +03:00
README.md Preparation 2021-09-06 14:33:39 +03:00
run.sh tests/stress: add core dumps into artifacts 2022-01-04 14:03:40 +03:00
stress stress: use max_memory_usage_for_user as a soft limit to avoid memory limit exceeded 2021-12-06 09:05:34 +03:00

Allow to run simple ClickHouse stress test in Docker from debian packages. Actually it runs multiple copies of clickhouse-test (functional tests). This allows to find problems like segmentation fault which cause shutdown of server.

Usage:

$ ls $HOME/someclickhouse
clickhouse-client_18.14.9_all.deb clickhouse-common-static_18.14.9_amd64.deb clickhouse-server_18.14.9_all.deb clickhouse-test_18.14.9_all.deb
$ docker run --volume=$HOME/someclickhouse:/package_folder --volume=$HOME/test_output:/test_output clickhouse/stress-test
Selecting previously unselected package clickhouse-common-static.
(Reading database ... 14442 files and directories currently installed.)
...
Start clickhouse-server service: Path to data directory in /etc/clickhouse-server/config.xml: /var/lib/clickhouse/
DONE
2018-10-22 13:40:35,744 Will wait functests to finish
2018-10-22 13:40:40,747 Finished 0 from 16 processes
2018-10-22 13:40:45,751 Finished 0 from 16 processes
...
2018-10-22 13:49:11,165 Finished 15 from 16 processes
2018-10-22 13:49:16,171 Checking ClickHouse still alive
Still alive
2018-10-22 13:49:16,195 Stress is ok
2018-10-22 13:49:16,195 Copying server log files
$ ls $HOME/test_result
clickhouse-server.err.log clickhouse-server.log.0.gz stderr.log stress_test_run_0.txt  stress_test_run_11.txt stress_test_run_13.txt
stress_test_run_15.txt stress_test_run_2.txt stress_test_run_4.txt stress_test_run_6.txt stress_test_run_8.txt clickhouse-server.log
perf_stress_run.txt stdout.log stress_test_run_10.txt stress_test_run_12.txt
stress_test_run_14.txt stress_test_run_1.txt
stress_test_run_3.txt stress_test_run_5.txt stress_test_run_7.txt stress_test_run_9.txt