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 устанавливает соединения с обоими серверами, затем отправляет запросы. Каждый запрос адресован случайно выбранному серверу. Результаты отображаются в таблице.