一、安装要求
·Go 语言:1.16+ 版本
·依赖管理:Go Modules
二、运行指令
将测试工具压缩包 Time Series Benchmark Suite (TSBS) 上传至客户端环境,并解压,可看到工具可执行的运行指令。
| 运行指令 | 功能描述 | 运行示例 |
| tsbs_generate_data | 生成模拟的时序数据 | ./tsbs_generate_data \\ –use-case="cpu-only" \\ # 使用CPU监控数据模型 –seed=123 \\ # 固定随机种子,确保结果可重现 –scale=10000 \\ # 模拟10,000台设备 –timestamp-start="2016-01-01T00:00:00Z" \\ # 数据开始时间 –timestamp-end="2016-02-01T00:00:00Z" \\ # 数据结束时间(31天) –log-interval="10s" \\ # 每10秒生成一个数据点 –format="influx" \\ # 生成InfluxDB格式数据 | gzip > data/influx-data-cpu-10000-30day.gz # 压缩存储 |
| tsbs_load_influx | 将生成的数据加载(写入)到 InfluxDB 中 | cat data/influx-data-cpu-10000-30day.gz | gunzip | ./tsbs_load_influx \\ –urls=http://XX.XX.XX.XX:8086 \\ # CTSDB访问地址 –db-name=test \\ # 目标数据库名 –workers=10 \\ # 10个并发worker –user=ctsdbi-mjhi**** \\ # 认证用户名 –password=X****@****\\ # 认证密码 –do-create-db=false # 不创建数据库(假设已存在) |
| tsbs_generate_queries | 生成针对模拟数据的查询请求 | ./tsbs_generate_queries –use-case="cpu-only" –seed=123 –scale=10000 \\ –timestamp-start="2025-01-01T00:00:00Z" \\ –timestamp-end="2025-01-01T12:00:01Z" \\ # 查询12小时数据 –queries=100000 \\ # 生成10万个查询 –query-type="single-groupby-1-1-1" \\ # 查询类型 –format="influx" \\ | gzip > query/influx-100000queries-single-groupby-1-1-1-12h.gz |
| tsbs_run_queries_influx | 在 InfluxDB 上执行生成的查询请求 | cat query/influx-100000queries-single-groupby-1-1-1-12h.gz | gunzip | ./tsbs_run_queries_influx \\ –urls=http://XX.XX.XX.XX:8086 \\ # CTSDB 访问集群地址 –workers=320 \\ # 320个并发worker –db-name=tsbs_test \\ # 查询的数据库 –print-interval 10000 # 每1万次查询打印进度 |