ClickBench нагрузка

Нагрузка базируется на данных и запросах из репозитория https://github.com/ClickHouse/ClickBench, а запросы и схема таблица адаптированы под YDB.

Тест генерирует типичную рабочую нагрузку в следующих областях: анализ потока кликов и трафика, веб-аналитика, машинно-генерируемые данные, структурированные журналы и данные о событиях. Он охватывает типичные запросы в аналитике и информационных панелях реального времени.

Набор данных для бенчмарка был получен на основе фактической записи трафика одной из крупнейших в мире платформ веб-аналитики. Он анонимизирован, при этом сохраняет все основные распределения данных. Набор запросов был импровизирован, чтобы отразить реалистичные рабочие нагрузки, в то время как запросы не исходят непосредственно из производства.

Инициализация нагрузочного теста

Перед запуском теста создайте таблицу:

ydb workload clickbench init

Посмотрите описание команды для запуска нагрузки:

ydb workload clickbench init --help

Доступные параметры

Имя параметра Описание параметра
--table <значение> Имя таблицы. Значение по умолчанию clickbench/hits.

Загрузка данных в таблицу

Загрузите данные в таблицу. Для этого скачайте и распакуйте архив с данными, затем загрузите данные в таблицу:

wget https://datasets.clickhouse.com/hits_compatible/hits.csv.gz
unzip hits.csv.gz
ydb import file csv --path clickbench/hits --input-file hits.csv

Запуск нагрузочного теста

Запустите нагрузку:

ydb workload clickbench run

В течение теста на экран выводится статистика по нагрузке для каждого запроса.

Посмотрите описание команды для запуска нагрузки:

ydb workload clickbench run --help

Общие параметры для всех видов нагрузки

Имя параметра Описание параметра
--output <значение> Имя файла, в котором будут сохранены результаты выполнения запросов. Значение по умолчанию results.out.
--iterations <значение> Количество выполнений каждого из запросов нагрузки, создающих нагрузку. Значение по умолчанию: 1.
--json Имя файла, в котором будет сохранена статистика выполнения запросов в формате json. По умолчанию файл не сохраняется.
--ministat Имя файла, в котором будет сохранена статистика выполнения запросов в формате ministat. По умолчанию файл не сохраняется.
--query-settings Настройки выполнения запроса. По умолчанию не указывается.
--ext-queries-file Имя файла, в котором можно указать внешние запросы для выполнения нагрузки. По умолчанию файл не требуется.
--ext-query Строка с внешними запросами для выполнения нагрузки. Значение по умолчанию отсутствует.
--table Имя таблицы. Значение по умолчанию: clickbench/hits.
--include Номера или отрезки номеров запросов, которые нужно выполнить в рамках нагрузки. По умолчанию выполняются все запросы. Указываются через запятую, например 1,2,4-6.
--exclude Номера или отрезки номеров запросов, которые нужно исключить в рамках нагрузки. По умолчанию выполняются все запросы. Указываются через запятую, например 1,2,4-6.