理解进度信息和统计报告

本文档详细介绍了 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 和 Benchamrk。

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

某条查询语句在某并发度 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

每条查询语句,在每个 parallel 参数下都会实时打印出一个相关报告。

┌─────────────────┬───────────────┐
│ 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.35972ms,说明执行查询语句的次数中,有 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 命令行参数;主要功能介绍请见 MatrixBench 主要功能