测试目标
文本旨在通过调节并发压力,评估数据库的查询吞吐量(QPS)与响应延迟(Latency)性能。
性能指标
指标名称 | 定义说明 | 计算公式/单位 |
QPS | 每秒执行完成的查询数量 | 总查询数 / 总耗时(s) |
平均时延 | 所有查询请求的平均响应时间 | 总耗时 / 总查询数 (ms) |
最小时延 | 最快查询请求的响应时间 | 毫秒(ms) |
最大时延 | 最慢查询请求的响应时间 | 毫秒(ms) |
测试查询类型
查询类型名称 | 查询范围 |
single-groupby-1-1-1 | 对1台主机的单一项指标,每5分钟进行一次 MAX 聚合,持续1小时。 |
single-groupby-1-8-1 | 对8台主机的单一项指标,每5分钟进行一次 MAX 聚合,持续1小时。 |
single-groupby-5-1-1 | 对1台主机,每5分钟取5项指标,进行 MAX 聚合,持续1小时。 |
cpu-max-all-1 | 对单台主机在1小时内的所有 CPU 指标进行 MAX 聚合汇总。 |
测试过程
1. 使用 tsbs_generate_queries 指令,指定查询类型,生成查询请求包。如下示例为 single-groupby-1-1-1。
./tsbs_generate_queries --use-case="cpu-only" --seed=123 --scale=10000 \\--timestamp-start="2025-01-01T00:00:00Z" \\--timestamp-end="2025-01-01T1:00:01Z" \\ # 查询1小时数据--queries=100000 \\ # 生成10万个查询--query-type="single-groupby-1-1-1" \\ # 查询类型--format="influx" \\| gzip > query/influx-100000queries-single-groupby-1-1-1-12h.gz
2. 基于上一步生成的查询请求(influx-100000queries-single-groupby-1-1-1-12h.gz),使用 tsbs_run_queries_influx 查询时序数据库,如下查询并发数为 320。
cat query/influx-100000queries-single-groupby-1-1-1-12h.gz | gunzip | ./tsbs_run_queries_influx \\--urls=http://XX.XX.XX.XX:8086 \\ # CTSDB 3.0集群地址--workers=320 \\ # 320个并发worker--db-name=tsbs_test \\ # 查询的数据库--print-interval 10000 # 每1万次查询打印进度
测试结果
single-groupby-1-1-1 类型查询性能
对1台主机的单一项指标,每5分钟进行一次 MAX 聚合,持续1小时。

测试并发数 | QPS(queries/sec) | 最小时延(ms) | 平均时延(ms) | 最大时延(ms) |
80 | 9413.97 | 6.56 | 8.48 | 61.98 |
160 | 16417.66 | 6.62 | 9.70 | 58.04 |
240 | 19065.37 | 7.71 | 12.52 | 84.77 |
320 | 21080.60 | 7.08 | 15.09 | 82.44 |
single-groupby-1-8-1类型查询性能
对8台主机的单一项指标,每5分钟进行一次 MAX 聚合,持续1小时。

测试并发数 | QPS(queries/sec) | 最小时延(ms) | 平均时延(ms) | 最大时延(ms) |
80 | 5743.46 | 7.71 | 13.86 | 41.36 |
160 | 6466.57 | 9.58 | 24.58 | 101.25 |
240 | 6790.33 | 10.09 | 35.11 | 97.95 |
320 | 6853.73 | 11.96 | 46.37 | 140.94 |
single-groupby-5-1-1类型查询性能
对1台主机,每5分钟取5项指标,进行 MAX 聚合,持续1小时。

测试并发数 | QPS(queries/sec) | 最小时延(ms) | 平均时延(ms) | 最大时延(ms) |
80 | 7773.55 | 7.47 | 10.21 | 63.98 |
160 | 12877.07 | 8.34 | 12.29 | 47.08 |
240 | 14664.10 | 8.89 | 16.15 | 77.00 |
320 | 15198.80 | 8.91 | 20.77 | 71.86 |
cpu-max-all-1类型查询性能
对单台主机在1小时内的所有 CPU 指标进行 MAX 聚合汇总。

测试并发数 | QPS(queries/sec) | 最小时延(ms) | 平均时延(ms) | 最大时延(ms) |
80 | 7323.38 | 8.31 | 10.86 | 39.25 |
160 | 12197.97 | 9.48 | 12.98 | 56.18 |
240 | 14600.77 | 10.11 | 16.23 | 105.48 |
320 | 15641.33 | 10.62 | 20.16 | 99.38 |