400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
本文档介绍了 MatrixBench 的详细参数信息。
注意!
目前 mxbench 已开源,欢迎你的审阅与贡献,请点击此处阅读 README。
参数名 | 默认值 | 参数含义 |
---|---|---|
[Database]类别 | ||
--db-database | postgres | 数据库名称,如果不存在,MatrixBench 会自动创建;已存在也不会报错 |
--db-master-host | localhost | YMatrix Master 实例所在主机的主机名(Hostname) |
--db-master-port | 5432 | YMatrix Master 实例的端口号 |
--db-password | YMatrix 用户密码 | |
--db-user | mxadmin | YMatrix 用户名 |
[Global]类别 | ||
--workspace | /tmp/mxbench | CSV 数据文件,查询文件的目录。在 workspace 目录下 ,mxbench 会创建一个与启动 mxbench 时的 UNIX 时间戳同名的目录,该目录下会生成 DDL、GUCs 相关脚本以及查询语句文件。如果设置 --dump 为 true ,导出的 CSV 数据文件也将在该目录下生成 |
--dump | false | 是否导出 CSV 数据文件。如果设置为 true ,表示仅导出数据文件,而不进行数据的写入和查询 |
--watch | true | 是否开启进程观察。默认开启,每 5 秒打印一次 Writer 和 Benchmark 模块的执行进度信息 |
--log-level | info | 选择日志级别。支持 debug / verbose / info / error |
--skip-set-gucs | false | 是否跳过询问和设置参数。默认情况下 mxbench 会询问是否重设并重启数据库,并根据配置文件呈现出的数据特征,选择一个合理的参数配置 |
--simultaneous-loading-and-query | false | 是否同时执行数据写入和查询。默认先执行数据加载,执行完毕后再执行查询;如果选择 true ,则执行数据写入和查询的混合负载;混合负载下,查询运行完之后会继续循环到数据写入结束 |
--ddl-file-path | 默认情况下根据其他相关配置生成 DDL。如果你想要定制 DDL,该参数填写 DDL 文件的路径 | |
--metrics-type | float8 | 指标的类型。支持 int4 / int8 / float4 / float8 4 种类型 |
--metrics-descriptions | 对指标的表述,需根据 基本功能 文档中“多数据类型与特征”功能部分介绍的语法撰写,生成具有定制化特征的指标数据 | |
--partition-interval-in-hour | 24 | 生成表 DDL 的分区时间间隔,单位为小时(h);默认为 24,即一天;如想让 mxbench 随机指定,则需设为 0 |
--realtime | false | 实时模式。若指定为 true ,mxbench 生成的数据会以其运行当前时间为基准生成数据的时间戳字段;每 --ts-step-in-second 秒会生成 --tag-num 行数据;--ts-start and --ts-end 则会被用来创建表的分区 |
--report-format | csv | 生成 SQL 执行各项数据统计报告的格式,支持 CSV 格式 |
--report-path | /tmp | 生成 SQL 执行各项数据统计报告的路径 |
--schema-name | public | 模式名称 |
--table-name | 数据表名称。默认为 "",必须手动设置 | |
--tag-num | 25000 | 设备数量 |
--total-metrics-count | 300 | 指标总数。如果指标总数大于 998,则超过部分的指标会以 JSON 类型存放在名为 "ext" 的列中 |
--ts-start | 生成数据时间戳起始时间。因有延迟上报数据的情况存在,生成数据可能会早于此时间 | |
--ts-end | 生成数据时间戳终止时间。--ts-end 必须晚于 --ts-start ,否则报错 |
|
--ts-step-in-second | 1 | 每几秒采集一次指标 |
[Generator]类别 | ||
--generator | telematics | 数据生成器。默认生成车联网场景(telematics)数据,支持 telematics / file / nil 。file 模式支持从 CSV 文件中读取数据并写入;nil 模式不生成、不写入任何数据 |
generator = "telematics" | ||
--generator-batch-size | 1 | 每个设备在每个时间戳的指标,分几条上传至 YMatrix。例如,如果设置为 5 ,名为 tag1 的设备在 2022-04-25 09:00:03 这个时间戳下,各个指标的数据会分 5 条传到 YMatrix,最终合并为 1 个元组(Tuple)。默认为 1 ,即指标信息不做拆分 |
--generator-disorder-ratio | 0 | 延迟上报数据的比例。取值 0~100 ,默认值为 0 , 即没有延迟上报的数据 |
--enerator-empty-value-ratio | 90 | 每行数据的空值率。取值为 0~100. 默认为 90%,即 90% 的指标都将是空值 |
--generator-randomness | OFF | 指标数据随机度。支持 OFF / S / M / L |
--generator-num-goroutine | 1 | 生成数据的使用并发数 |
--generator-write-batch-size | 4 | 生成数据的缓存大小,即生成多少数据。单位 MB |
generator = "file" | ||
--generator-file-paths | CSV 数据文件的绝对路径。可以数组形式上传多个 CSV 文件 | |
--generator-batch-size | 1 | 同 generator = "telematics" 中的 --generator-batch-size 参数(非必选,如使用定制 DDL 语句则此参数无效) |
--generator-empty-value-ratio | 90 | 同 generator = "telematics" 中的 --generator-empty-value-ratio 参数(非必选,如使用定制 DDL 语句则此参数无效) |
generator = "nil"(此模式无其他参数设置) | ||
[Writer]类别 | ||
--writer | 启动 mxgate 并写入数据的方式。支持 http / stdin / nil |
|
writer = "http" | ||
--writer-use-gzip | false | 发送 HTTP 消息是否使用 Gzip 压缩 |
--writer-parallel | 8 | 向 mxgate 发送数据的并发度 |
--writer-mxgate-path | 环境变量路径 | mxgate 二进制文件路径。默认为环境变量的路径,直接使用 mxgate 启动 |
--writer-progress-format | list | 打印的 Writer 进度信息的格式。支持 list / json |
--writer-progress-include-table-size | false | 打印的 Writer 进度信息是否包括表大小 |
--writer-progress-with-timezone | false | 打印的 Writer 进度信息是否包括时区信息 |
--writer-interval | -1 | 指定 mxgate 的 --interval 参数,默认 -1 ,即 mxbench 自动指定(高级调试参数) |
--writer-stream-prepared | -1 | 指定 mxgate 的 --stream-prepared 参数,默认 -1 ,即 mxbench 自动指定(高级调试参数) |
writer = "stdin" | ||
--writer-mxgate-path | 环境变量路径 | 同 writer = "http" 中的 --writer-mxgate-path 参数 |
--writer-progress-format | list | 同 writer = "http" 中的 --writer-progress-format 参数 |
--writer-progress-include-table-size | false | 同 writer = "http" 中的 --writer-progress-include-table-size 参数 |
--writer-progress-with-timezone | false | 同 writer = "http" 中的 --writer-progress-with-timezone 参数 |
--writer-interval | -1 | 同 writer = "http" 中的 --writer-interval 参数 |
--writer-stream-prepared | -1 | 同 writer = "http" 中的 --writer-stream-prepared 参数 |
writer = "nil"(此模式无其他参数设置) | ||
[Benchmark]类别 | ||
--benchmark | telematics | 生成并执行查询语句。支持 telematics / nil |
benchmark = "telematics" | ||
--benchmark-run-query-names | 将要顺序执行的 Telematics 提供的查询语句名称。 目前我们提供以下 3 个合法查询语句名: 1. SINGLE_TAG_LATEST_QUERY :获得单车最近时间戳的各个指标值; 2. MULTI_TAG_LATEST_QUERY :随机选取 10 车,获得其最近时间戳的各个指标值;3. SINGLE_TAG_DETAIL_QUERY :获得单车在一段时间内的各个指标的值;例如,输入 [ "SINGLE_TAG_LATEST_QUERY", "MULTI_TAG_LATEST_QUERY", "SINGLE_TAG_DETAIL_QUERY" ] 就可以顺序执行上述三个查询语句,输入其他名称会被忽略。默认为空,即不执行任何预设查询语句 |
|
--benchmark-custom-queries | 定制查询语句。使用 "," 分隔。例如,["SELECT COUNT(*) from t1", "SELECT MAX(ts) from t1"] 。默认为空,即不执行任何定制查询语句 |
|
--benchmark-combination-queries | 组合式查询语句的表达式。需根据 基本功能 文档中“组合式查询语句”功能部分介绍的语法撰写 | |
--benchmark-progress-format | list | 打印的 Benchmark 进度信息的格式, 支持 list / json |
--benchmark-parallel | 执行查询语句的并发度。可一次性设置多个并发度,按顺序遍历查询语句,使用 "," 分隔。例如,输入 [1, 8] 就可以先以并发度 1 跑各个查询语句,再以并发度为 8 跑各个查询语句。默认为空 |
|
--benchmark-run-times | 0 | 每个查询语句在每个并发度下执行的次数。mxbench 需要根据多次的执行结果进行延迟和 TPS 数据统计 |
--benchmark-runtime-in-second | 60 | 每个查询语句在每个并发度下执行的时间(秒)。mxbench 需要根据此时间内查询语句执行的结果进行延迟和 TPS 数据统计。此参数只在 --benchmark-run-times = 0 的情况下才生效 |
benchmark = "nil" |
命令行参数名 | 参数含义 |
---|---|
--run | 在命令行运行 mxbench |
--config | 打印完整的配置文件模版 |
--help | 显示用法和参数列表 |
--version | 显示版本 |
注意!
主要功能介绍请见 MatrixBench 主要功能;MatrixBench 进度信息与统计报告详解请见 MatrixBench 理解进度信息与统计报告。