clickhouse-benchmark
Подключается к серверу ClickHouse и многократно отправляет указанные запросы.
Синтаксис
или
или
Если вы хотите отправить набор запросов, создайте текстовый файл и поместите каждый запрос на отдельной строке в этом файле. Например:
Затем передайте этот файл на стандартный ввод clickhouse-benchmark:
Ключи
- --query=QUERY— Запрос для выполнения. Если этот параметр не передан,- clickhouse-benchmarkбудет считывать запросы из стандартного ввода.
- -c N,- --concurrency=N— Количество запросов, которые- clickhouse-benchmarkотправляет одновременно. Значение по умолчанию: 1.
- -d N,- --delay=N— Интервал в секундах между промежуточными отчетами (чтобы отключить отчеты, установите 0). Значение по умолчанию: 1.
- -h HOST,- --host=HOST— Хост сервера. Значение по умолчанию:- localhost. Для режима сравнения вы можете использовать несколько ключей- -h.
- -i N,- --iterations=N— Общее количество запросов. Значение по умолчанию: 0 (повторять бесконечно).
- -r,- --randomize— Случайный порядок выполнения запросов, если есть более одного входного запроса.
- -s,- --secure— Использовать соединение- TLS.
- -t N,- --timelimit=N— Временной лимит в секундах.- clickhouse-benchmarkостанавливает отправку запросов, когда достигается указанный временной лимит. Значение по умолчанию: 0 (временной лимит отключен).
- --port=N— Порт сервера. Значение по умолчанию: 9000. Для режима сравнения вы можете использовать несколько ключей- --port.
- --confidence=N— Уровень доверия для T-теста. Возможные значения: 0 (80%), 1 (90%), 2 (95%), 3 (98%), 4 (99%), 5 (99.5%). Значение по умолчанию: 5. В режиме сравнения- clickhouse-benchmarkвыполняет независимый двухвыборочный T-тест, чтобы определить, различаются ли две выборки с заданным уровнем доверия.
- --cumulative— Печать кумулятивных данных вместо данных за интервал.
- --database=DATABASE_NAME— Имя базы данных ClickHouse. Значение по умолчанию:- default.
- --user=USERNAME— Имя пользователя ClickHouse. Значение по умолчанию:- default.
- --password=PSWD— Пароль пользователя ClickHouse. Значение по умолчанию: пустая строка.
- --stacktrace— Вывод стек-трасс. Если установлен ключ,- clickhouse-benchmarkвыводит стек-трассы исключений.
- --stage=WORD— Этап обработки запроса на сервере. ClickHouse останавливает обработку запроса и возвращает ответ- clickhouse-benchmarkна указанном этапе. Возможные значения:- complete,- fetch_columns,- with_mergeable_state. Значение по умолчанию:- complete.
- --reconnect=N- Управление поведением повторного подключения. Возможные значения 0 (никогда не переподключаться), 1 (переподключаться для каждого запроса), или N (переподключаться после каждого N запросов). Значение по умолчанию: 1.
- --help— Показать сообщение помощи.
Если вы хотите применить некоторые настройки для запросов, передайте их в качестве ключа --<имя настройки сессии>= SETTING_VALUE. Например, --max_memory_usage=1048576.
Вывод
По умолчанию clickhouse-benchmark сообщает о каждом интервале --delay.
Пример отчета:
В отчете вы можете найти:
- 
Количество запросов в поле Выполнено запросов:.
- 
Строку состояния, содержащую (в порядке): - Конечная точка сервера ClickHouse.
- Количество обработанных запросов.
- QPS: Сколько запросов сервер выполнил в секунду за период, указанный в аргументе --delay.
- RPS: Сколько строк сервер считывает в секунду за период, указанный в аргументе --delay.
- MiB/s: Сколько мебибайтов сервер считывает в секунду за период, указанный в аргументе --delay.
- результат RPS: Сколько строк помещено сервером в результат запроса в секунду за период, указанный в аргументе --delay.
- результат MiB/s. Сколько мебибайтов помещено сервером в результат запроса в секунду за период, указанный в аргументе --delay.
 
- 
Перцентили времени выполнения запросов. 
Режим сравнения
clickhouse-benchmark может сравнивать производительность двух запущенных серверов ClickHouse.
Чтобы использовать режим сравнения, укажите конечные точки обоих серверов двумя парами ключей --host, --port. Ключи сопоставляются друг с другом по позиции в списке аргументов, первый --host сопоставляется с первым --port и так далее. clickhouse-benchmark устанавливает соединения с обоими серверами, затем отправляет запросы. Каждый запрос адресован случайно выбранному серверу. Результаты отображаются в таблице.
