查询性能测试

最近更新时间:2025-11-19 15:26:02

我的收藏

测试目标

文本旨在通过调节并发压力,评估数据库的查询吞吐量(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