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

В этом документе подробно описывается информация о ходе выполнения во время работы 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.