Понимание информации о ходе выполнения и статистических отчетов

В этом документе подробно описывается информация о ходе выполнения во время работы MatrixBench, а также статистический отчет, выводимый после завершения операции.

Примечание!
В настоящее время mxbench является проектом с открытым исходным кодом, и мы приветствуем ваши отзывы и вклад. Пожалуйста, нажмите здесь, чтобы прочитать README.

1 Информация о ходе выполнения

Пример:

● Stdin Writer Report
  ● period start: 2022-04-29 10:08:11, end: 2022-04-29 10:08:16, period: 5.000129734s

  ● count written in total: 637025 rows/ 1500000 rows 42%, 637025 rows in this period

  ● size written in total: 160878718 bytes/ 360000003 bytes 44%, 160878718 bytes in this period

  ● size written to MxGate in total: 350075440 bytes, 350075440 bytes in this period

● Telematics Benchmark Report
  ● stats for query SINGLE_TAG_LATEST_QUERY with parallel 8: progress: 100%

  ● stats for query MULTI_TAG_LATEST_QUERY with parallel 8: progress: 43%

Информация о ходе выполнения состоит из двух частей: Writer и Benchmark.

1.1 Writer

  • period start, period end, period: время начала, окончания и длительность окна статистики;
  • count written: количество записанных строк данных и оценочное количество строк, а также процентное соотношение между ними. xx in this period: количество строк, записанных в текущем окне статистики;
  • size written: объем записанных байтов данных и оценочный объем данных, а также процентное соотношение между ними. xx in this period: объем байтов, записанных в текущем окне статистики;
  • size written to MxGate: объем байтов, записанных в MatrixGate после преобразования данных в текстовый формат. xx in this period: объем байтов, записанных в MatrixGate в текущем окне статистики.

1.2 Benchmark

Прогресс выполнения запроса при заданном уровне параллелизма (concurrency parallel). Когда запрос выполняется одновременно с загрузкой данных, он продолжает работать до завершения загрузки данных и может проходить несколько циклов. В данном отчете отображается только информация о последнем цикле.

2 Статистический отчет

2.1 Writer

┌───────────────────────────────────────────────────────┐
│            Summary Report for Stdin Writer            │
├─────────────────────────────────┬─────────────────────┤
│ start time:                     │ 2022-04-27 13:29:01 │
├─────────────────────────────────┼─────────────────────┤
│ stop time:                      │ 2022-04-27 13:29:58 │
├─────────────────────────────────┼─────────────────────┤
│ size written to MxGate (bytes): │ 848333400           │
├─────────────────────────────────┼─────────────────────┤
│ lines inserted:                 │ 1500000             │
├─────────────────────────────────┼─────────────────────┤
│ compress ratio:                 │ 1.561276 : 1        │
└─────────────────────────────────┴─────────────────────┘
  • start time: время начала загрузки данных;
  • end time: время завершения загрузки данных;
  • size written to MxGate (bytes): объем байтов, записанных в MatrixGate;
  • lines inserted: количество вставленных строк данных. Поскольку возможны операции UPSERT, это значение может быть выше фактического количества строк в базе данных;
  • compress ratio: коэффициент сжатия — отношение объема данных, записанных в MatrixGate, к фактическому размеру таблицы в базе данных.

2.2 Benchmark

Для каждого запроса в реальном времени выводится соответствующий отчет при каждом значении параметра параллелизма.

┌─────────────────┬───────────────┐
│ Overall Latency │ 29.948370582s │
│ Average Latency │   13.723304ms │
│ P75 Latency     │    14.35972ms │
│ P50 Latency     │   13.654556ms │
│ P25 Latency     │   12.925912ms │
│ TPS             │           582 │
└─────────────────┴───────────────┘
  • Pxx обозначает задержку на xx-м перцентиле. Например, P75 = 14.35972 мс означает, что у 25% выполнений запроса задержка была выше этого значения, а у 75% — ниже. P50 — медиана.
  • TPS: количество выполнений запроса в секунду.

Сводный отчет:

┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                Summary Report for Telematics Benchmark                                                │
├─────────────────────┬─────────────────────────────────────┬─────────────────────────────────────┬─────────────────────────────────────┤
│ Parallel\Query Name │ SINGLE_TAG_LATEST_QUERY             │ MULTI_TAG_LATEST_QUERY              │ SINGLE_TAG_DETAIL_QUERY             │
├─────────────────────┼─────────────────────────────────────┼─────────────────────────────────────┼─────────────────────────────────────┤
│ 8                   │ ┌─────────────────┬───────────────┐ │ ┌─────────────────┬───────────────┐ │ ┌─────────────────┬───────────────┐ │
│                     │ │ Overall Latency │ 30.008625133s │ │ │ Overall Latency │ 36.407016561s │ │ │ Overall Latency │ 29.948370582s │ │
│                     │ │ Average Latency │    23.81758ms │ │ │ Average Latency │  7.270212105s │ │ │ Average Latency │   13.723304ms │ │
│                     │ │ P75 Latency     │   24.911171ms │ │ │ P75 Latency     │  8.139682559s │ │ │ P75 Latency     │    14.35972ms │ │
│                     │ │ P50 Latency     │   23.411248ms │ │ │ P50 Latency     │  7.161237157s │ │ │ P50 Latency     │   13.654556ms │ │
│                     │ │ P25 Latency     │   20.899622ms │ │ │ P25 Latency     │  6.642459805s │ │ │ P25 Latency     │   12.925912ms │ │
│                     │ │ TPS             │           335 │ │ │ TPS             │             1 │ │ │ TPS             │           582 │ │
│                     │ └─────────────────┴───────────────┘ │ └─────────────────┴───────────────┘ │ └─────────────────┴───────────────┘ │
│                     │ progress: 100%                      │ progress: 100%                      │ progress: 100%                      │
└─────────────────────┴─────────────────────────────────────┴─────────────────────────────────────┴─────────────────────────────────────┘
  • Каждая строка представляет результат выполнения запроса при определенном уровне параллелизма.
  • Каждый столбец отражает результаты выполнения различных запросов при разных уровнях параллелизма.
  • Если набор запросов был выполнен в нескольких циклах (в случае смешанной нагрузки, когда запросы выполняются непрерывно без остановки загрузки данных), отображаются только результаты последнего цикла.
  • Если при выполнении запроса произошла ошибка или пользователь прервал выполнение, индикатор прогресса покажет текущее состояние, а статистика будет основана на уже выполненных запусках запроса.

Примечание!
Чтобы быстро начать работу с MatrixBench, см. MatrixBench: быстрый старт; для получения полной информации о параметрах командной строки см. Параметры командной строки MatrixBench; для ознакомления с основными функциями см. Основные функции MatrixBench.