理解进度信息和统计报告
本文档详细介绍了 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 主要功能。