How to Test Your Hardware with ClickHouse

With this instruction you can run basic ClickHouse performance test on any server without installation of ClickHouse packages.

  1. Go to “commits” page: https://github.com/ClickHouse/ClickHouse/commits/master
  2. Click on the first green check mark or red cross with green “ClickHouse Build Check” and click on the “Details” link near “ClickHouse Build Check”. There is no such link in some commits, for example commits with documentation. In this case, choose the nearest commit having this link.
  3. Copy the link to clickhouse binary for amd64 or aarch64.
  4. ssh to the server and download it with wget:
  1. # For amd64:
  2. wget https://clickhouse-builds.s3.yandex.net/0/e29c4c3cc47ab2a6c4516486c1b77d57e7d42643/clickhouse_build_check/gcc-10_relwithdebuginfo_none_bundled_unsplitted_disable_False_binary/clickhouse
  3. # For aarch64:
  4. wget https://clickhouse-builds.s3.yandex.net/0/e29c4c3cc47ab2a6c4516486c1b77d57e7d42643/clickhouse_special_build_check/clang-10-aarch64_relwithdebuginfo_none_bundled_unsplitted_disable_False_binary/clickhouse
  5. # Then do:
  6. chmod a+x clickhouse
  1. Download benchmark files:
  1. wget https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/clickhouse/benchmark-new.sh
  2. chmod a+x benchmark-new.sh
  3. wget https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/benchmark/clickhouse/queries.sql
  1. Download test data according to the Yandex.Metrica dataset instruction (“hits” table containing 100 million rows).
  1. wget https://clickhouse-datasets.s3.yandex.net/hits/partitions/hits_100m_obfuscated_v1.tar.xz
  2. tar xvf hits_100m_obfuscated_v1.tar.xz -C .
  3. mv hits_100m_obfuscated_v1/* .
  1. Run the server:
  1. ./clickhouse server
  1. Check the data: ssh to the server in another terminal
  1. ./clickhouse client --query "SELECT count() FROM hits_100m_obfuscated"
  2. 100000000
  1. Edit the benchmark-new.sh, change clickhouse-client to ./clickhouse client and add --max_memory_usage 100000000000 parameter.
  1. mcedit benchmark-new.sh
  1. Run the benchmark:
  1. ./benchmark-new.sh hits_100m_obfuscated
  1. Send the numbers and the info about your hardware configuration to [email protected]

All the results are published here: https://clickhouse.tech/benchmark/hardware/