TSBS 实测:KaiwuDB vs InfluxDB,时序数据库性能差多少?
在工业物联网、智能运维监控等时序业务场景中,时序数据库的写入吞吐能力、查询响应效率以及高负载下的系统稳定性,直接决定了业务系统的可靠性与可扩展性。本次测试基于行业通用的时序数据库基准测试工具——TSBS (Time Series Benchmark Suite),在完全一致的硬件、操作系统与容器环境下,对 KaiwuDB V3.1.0 与 InfluxDB V1.6.4 两款产品进行了全场景性能对比,用真实测试数据给时序库选型做直观参考。
测试工具仓库来源>>https://gitee.com/kwdb/kwdb-tsbs
本文为个人技术分享,测试结果仅针对本次测试环境与版本,不同部署模式、不同版本的性能表现可能存在差异。
一、测试环境说明
为了保证测试的公平性与可复现性,本次测试全程采用 Docker 容器化部署,两个数据库的运行环境完全一致,排除了环境差异对测试结果的干扰:
|
配置项 |
详情 |
|
操作系统 |
Ubuntu 22.04.5 LTS(内核5.15.0-138-generic) |
|
系统架构 |
x86_64 |
|
资源限制 |
单节点 16 核 CPU、32GB 内存 |
|
存储 |
单容器绑定 1.8TiB Intel NVMe 硬盘 |
|
测试工具 |
TSBS 时序基准测试套件(适配版) |
|
测试版本 |
KaiwuDB 3.1.0、InfluxDB v1.6.4 |
二、先上结论
1. 写入性能:KaiwuDB 全场景领先,中小规模吞吐达 7 倍优势
2. 查询性能:分场景呈现出差异化表现,InfluxDB 的简单查询有小幅优势;KaiwuDB 在大规模、超大规模时序业务场景性能衰减更小,复杂查询时延可控
3. 稳定性:KaiwuDB 高负载鲁棒性显著领先,InfluxDB 面对大规模/超大规模数据场景频繁宕机,无法支撑大规模的时序业务
三、写入性能对比(rows/s,数值越高越好)
写入吞吐是时序库核心能力,4 组场景实测数据如下:
|
结果参数 |
KaiwuDB |
InfluxDB |
|
|
场景1 |
insert(rows/s) |
1580241.06 |
220032.98 |
|
insert(metics/s) |
15802410.60 |
2200329.76 |
|
|
场景2 |
insert(rows/s) |
1608033.76 |
215726.02 |
|
insert(metics/s) |
16080337.60 |
2157260.17 |
|
|
场景3 |
insert(rows/s) |
1346516.28 |
191460.82 |
|
insert(metics/s) |
13465162.80 |
1914608.22 |
|
|
场景4 |
insert(rows/s) |
265462.34 |
140092.62 |
|
insert(metics/s) |
2654623.40 |
1400926.22 |
从结果能明显看出,四个场景 KaiwuDB 全部大幅领先,场景 1、2 吞吐接近 7 倍差距,场景 4 也有近 2 倍优势,InfluxDB 的写入上限明显低很多。

四、查询性能对比(ms,数值越低越好)
测试覆盖极小规模(100 设备)、中规模(4000 设备)、大规模(10 万 / 100 万设备),分 Worker1(低并发)、 Worker8(高并发),包含简单分组、复杂聚合、高负载查询等 15 类核心场景。
4.1 场景一:极小数据规模(100 设备)
-
对于
single-groupby、cpu-max这类简单的聚合查询,InfluxDB 的响应时间略快于 KaiwuDB,存在 1-3ms 的小幅优势; -
但对于
high-cpu-all、lastpoint、groupby-orderby-limit这类复杂的高负载查询,InfluxDB 的响应时间出现了剧烈的飙升,达到了千毫秒级,而 KaiwuDB 的响应时间始终稳定在几十毫秒以内,差距悬殊。
worker1
|
query type |
scale |
query count |
kaiwudb(ms) |
influxdb (ms) |
|
single-groupby-1-1-1 |
100 |
10 |
4.09 |
1.68 |
|
single-groupby-1-1-12 |
100 |
10 |
5.32 |
1.74 |
|
single-groupby-1-8-1 |
100 |
10 |
5.99 |
1.82 |
|
single-groupby-5-1-1 |
100 |
10 |
3.67 |
1.93 |
|
single-groupby-5-1-12 |
100 |
10 |
7.69 |
1.73 |
|
single-groupby-5-8-1 |
100 |
10 |
8.17 |
2.12 |
|
cpu-max-all-1 |
100 |
10 |
5.2 |
2.20 |
|
cpu-max-all-8 |
100 |
10 |
15.38 |
2.42 |
|
double-groupby-1 |
100 |
10 |
40.41 |
8.16 |
|
double-groupby-5 |
100 |
10 |
55.84 |
23.09 |
|
double-groupby-all |
100 |
10 |
72.11 |
33.08 |
|
high-cpu-all |
100 |
10 |
43.41 |
1869.78 |
|
high-cpu-1 |
100 |
10 |
8.66 |
44.18 |
|
lastpoint |
100 |
10 |
5.74 |
290.90 |
|
groupby-orderby-limit |
100 |
10 |
18.74 |
1504.60 |
worker8
当查询并发提升到 8Worker 后,InfluxDB 的简单查询优势已经消失,复杂查询的时延进一步恶化,groupby-orderby-limit查询耗时超 5 秒,KaiwuDB 稳定控制在 20ms 内。
|
query type |
scale |
query count |
kaiwudb(ms) |
influxdb (ms) |
|
single-groupby-1-1-1 |
100 |
10 |
4.09 |
5.04 |
|
single-groupby-1-1-12 |
100 |
10 |
5.32 |
3.70 |
|
single-groupby-1-8-1 |
100 |
10 |
5.99 |
5.61 |
|
single-groupby-5-1-1 |
100 |
10 |
3.67 |
5.12 |
|
single-groupby-5-1-12 |
100 |
10 |
7.69 |
3.96 |
|
single-groupby-5-8-1 |
100 |
10 |
8.17 |
4.18 |
|
cpu-max-all-1 |
100 |
10 |
5.2 |
3.98 |
|
cpu-max-all-8 |
100 |
10 |
15.38 |
4.72 |
|
double-groupby-1 |
100 |
10 |
40.41 |
10.25 |
|
double-groupby-5 |
100 |
10 |
55.84 |
26.09 |
|
double-groupby-all |
100 |
10 |
72.11 |
40.60 |
|
high-cpu-all |
100 |
10 |
43.41 |
2296.28 |
|
high-cpu-1 |
100 |
10 |
8.66 |
54.94 |
|
lastpoint |
100 |
10 |
5.74 |
702.95 |
|
groupby-orderby-limit |
100 |
10 |
18.74 |
5853.84 |

4.2 场景二:中数据规模(4000 设备)
当数据规模扩大到 4000 设备后,InfluxDB 的性能衰减已经非常明显:
-
简单查询的小幅优势依然存在,但已经非常微弱;
-
复杂查询的时延出现了断崖式的下跌,
double-groupby-all查询的时延超过了 20 秒,high-cpu-all查询的时延竟然达到了 85 秒,而 KaiwuDB 的这些查询时延依然稳定在百毫秒级; -
在高并发场景下,InfluxDB 的
groupby-orderby-limit查询时延甚至超过了 220 秒,完全无法满足业务的查询需求,而 KaiwuDB 的性能没有出现任何波动。
worker1
|
query type |
scale |
query count |
kaiwudb(ms) |
influxdb (ms) |
|
single-groupby-1-1-1 |
4000 |
10 |
2.86 |
1.64 |
|
single-groupby-1-1-12 |
4000 |
10 |
3.93 |
1.47 |
|
single-groupby-1-8-1 |
4000 |
10 |
4.41 |
1.90 |
|
single-groupby-5-1-1 |
4000 |
10 |
2.86 |
1.64 |
|
single-groupby-5-1-12 |
4000 |
10 |
5.33 |
1.73 |
|
single-groupby-5-8-1 |
4000 |
10 |
5.92 |
2.03 |
|
cpu-max-all-1 |
4000 |
10 |
4.02 |
1.86 |
|
cpu-max-all-8 |
4000 |
10 |
12.44 |
2.18 |
|
double-groupby-1 |
4000 |
10 |
248.32 |
106.02 |
|
double-groupby-5 |
4000 |
10 |
437.87 |
527.62 |
|
double-groupby-all |
4000 |
10 |
695.81 |
1024.26 |
|
high-cpu-all |
4000 |
10 |
190.74 |
85956.20 |
|
high-cpu-1 |
4000 |
10 |
3.08 |
36.10 |
|
lastpoint |
4000 |
10 |
18.95 |
3433.02 |
|
groupby-orderby-limit |
4000 |
10 |
11.77 |
15356.99 |
worker8
|
query type |
scale |
query count |
kaiwudb(ms) |
influxdb (ms) |
|
single-groupby-1-1-1 |
4000 |
10 |
2.86 |
1.78 |
|
single-groupby-1-1-12 |
4000 |
10 |
3.93 |
1.45 |
|
single-groupby-1-8-1 |
4000 |
10 |
4.41 |
1.83 |
|
single-groupby-5-1-1 |
4000 |
10 |
2.86 |
1.65 |
|
single-groupby-5-1-12 |
4000 |
10 |
5.33 |
1.65 |
|
single-groupby-5-8-1 |
4000 |
10 |
5.92 |
2.00 |
|
cpu-max-all-1 |
4000 |
10 |
4.02 |
1.83 |
|
cpu-max-all-8 |
4000 |
10 |
12.44 |
2.17 |
|
double-groupby-1 |
4000 |
10 |
248.32 |
2060.04 |
|
double-groupby-5 |
4000 |
10 |
437.87 |
10312.65 |
|
double-groupby-all |
4000 |
10 |
695.81 |
20632.78 |
|
high-cpu-all |
4000 |
10 |
190.74 |
2119.34 |
|
high-cpu-1 |
4000 |
10 |
3.08 |
13.36 |
|
lastpoint |
4000 |
10 |
18.95 |
23337.27 |
|
groupby-orderby-limit |
4000 |
10 |
11.77 |
223248.38 |

4.3 场景三:大规模数据(10 万设备)
从这个场景开始,InfluxDB 已经无法支撑高负载的查询压力了。在核心高负载查询中直接出现了宕机,无法完成查询任务。KaiwuDB 全部正常执行,无失败、无中断。
简单查询 InfluxDB 仍有微弱优势,但 double-groupby-5、double-groupby-all 延迟高达 1 万 - 2 万 ms,KaiwuDB 仅 400-700ms,差距达到数十倍。
最关键的 high-cpu-all、lastpoint、groupby-orderby-limit 查询,InfluxDB 全盘崩溃,所有高负载查询直接宕机。KaiwuDB 的所有查询都稳定完成,没有任何失败。
worker1
|
query type |
scale |
query count |
kaiwudb(ms) |
influxdb (ms) |
|
single-groupby-1-1-1 |
100000 |
10 |
2.86 |
2.07 |
|
single-groupby-1-1-12 |
100000 |
10 |
3.93 |
1.51 |
|
single-groupby-1-8-1 |
100000 |
10 |
4.41 |
2.28 |
|
single-groupby-5-1-1 |
100000 |
10 |
2.86 |
1.88 |
|
single-groupby-5-1-12 |
100000 |
10 |
5.33 |
1.95 |
|
single-groupby-5-8-1 |
100000 |
10 |
5.92 |
2.47 |
|
cpu-max-all-1 |
100000 |
10 |
4.02 |
2.36 |
|
cpu-max-all-8 |
100000 |
10 |
12.44 |
3.11 |
|
double-groupby-1 |
100000 |
10 |
248.32 |
2191.41 |
|
double-groupby-5 |
100000 |
10 |
437.87 |
10914.56 |
|
double-groupby-all |
100000 |
10 |
695.81 |
21689.65 |
|
high-cpu-all |
100000 |
10 |
190.74 |
宕机 |
|
high-cpu-1 |
100000 |
10 |
3.08 |
104.67 |
|
lastpoint |
100000 |
10 |
18.95 |
宕机 |
|
groupby-orderby-limit |
100000 |
10 |
11.77 |
宕机 |
worker8
|
query type |
scale |
query count |
kaiwudb(ms) |
influxdb (ms) |
|
single-groupby-1-1-1 |
100000 |
10 |
2.86 |
172.81 |
|
single-groupby-1-1-12 |
100000 |
10 |
3.93 |
4.16 |
|
single-groupby-1-8-1 |
100000 |
10 |
4.41 |
5.56 |
|
single-groupby-5-1-1 |
100000 |
10 |
2.86 |
5.38 |
|
single-groupby-5-1-12 |
100000 |
10 |
5.33 |
4.80 |
|
single-groupby-5-8-1 |
100000 |
10 |
5.92 |
5.65 |
|
cpu-max-all-1 |
100000 |
10 |
4.02 |
5.32 |
|
cpu-max-all-8 |
100000 |
10 |
12.44 |
6.45 |
|
double-groupby-1 |
100000 |
10 |
248.32 |
2172.54 |
|
double-groupby-5 |
100000 |
10 |
437.87 |
38427.44 |
|
double-groupby-all |
100000 |
10 |
695.81 |
29251.38 |
|
high-cpu-all |
100000 |
10 |
190.74 |
宕机 |
|
high-cpu-1 |
100000 |
10 |
3.08 |
35.22 |
|
lastpoint |
100000 |
10 |
18.95 |
宕机 |
|
groupby-orderby-limit |
100000 |
10 |
11.77 |
宕机 |

4.4 场景四:超大规模数据(100 万设备)
在百万设备的超大规模场景下,InfluxDB 已经彻底无法支撑高负载查询了:所有的高负载查询全部宕机,double-groupby 系列查询的时延最高达到了 31 万毫秒(也就是超过 5 分钟),完全无法满足业务的实时查询需求。
而 KaiwuDB 在这个场景下,依然保持了稳定的性能,所有查询都正常完成,复杂查询的时延依然控制在百毫秒级,没有出现任何性能衰减或者服务异常。
worker1
简单查询 InfluxDB 勉强略快,但 double-groupby 延迟飙升至 2 万 - 22 万 ms,KaiwuDB 仅 250-700ms。high-cpu-all、lastpoint、groupby-orderby-limit InfluxDB 宕机,KaiwuDB 稳定执行。
|
query type |
scale |
query count |
kaiwudb(ms) |
influxdb (ms) |
|
single-groupby-1-1-1 |
1000000 |
10 |
2.86 |
1.76 |
|
single-groupby-1-1-12 |
1000000 |
10 |
3.93 |
1.51 |
|
single-groupby-1-8-1 |
1000000 |
10 |
4.41 |
2.26 |
|
single-groupby-5-1-1 |
1000000 |
10 |
2.86 |
1.93 |
|
single-groupby-5-1-12 |
1000000 |
10 |
5.33 |
2.08 |
|
single-groupby-5-8-1 |
1000000 |
10 |
5.92 |
2.70 |
|
cpu-max-all-1 |
1000000 |
10 |
4.02 |
2.46 |
|
cpu-max-all-8 |
1000000 |
10 |
12.44 |
3.05 |
|
double-groupby-1 |
1000000 |
10 |
248.32 |
23166.98 |
|
double-groupby-5 |
1000000 |
10 |
437.87 |
114890.34 |
|
double-groupby-all |
1000000 |
10 |
695.81 |
225469.24 |
|
high-cpu-all |
1000000 |
10 |
190.74 |
宕机 |
|
high-cpu-1 |
1000000 |
10 |
3.08 |
108.16 |
|
lastpoint |
1000000 |
10 |
18.95 |
宕机 |
|
groupby-orderby-limit |
1000000 |
10 |
11.77 |
宕机 |
worker8
|
query type |
scale |
query count |
kaiwudb(ms) |
influxdb (ms) |
|
single-groupby-1-1-1 |
1000000 |
10 |
2.86 |
5.28 |
|
single-groupby-1-1-12 |
1000000 |
10 |
3.93 |
3.31 |
|
single-groupby-1-8-1 |
1000000 |
10 |
4.41 |
5.01 |
|
single-groupby-5-1-1 |
1000000 |
10 |
2.86 |
5.07 |
|
single-groupby-5-1-12 |
1000000 |
10 |
5.33 |
4.75 |
|
single-groupby-5-8-1 |
1000000 |
10 |
5.92 |
6.17 |
|
cpu-max-all-1 |
1000000 |
10 |
4.02 |
4.91 |
|
cpu-max-all-8 |
1000000 |
10 |
12.44 |
5.92 |
|
double-groupby-1 |
1000000 |
10 |
248.32 |
31265.69 |
|
double-groupby-5 |
1000000 |
10 |
437.87 |
157174.17 |
|
double-groupby-all |
1000000 |
10 |
695.81 |
310511.21 |
|
high-cpu-all |
1000000 |
10 |
190.74 |
宕机 |
|
high-cpu-1 |
1000000 |
10 |
3.08 |
108.68 |
|
lastpoint |
1000000 |
10 |
18.95 |
宕机 |
|
groupby-orderby-limit |
1000000 |
10 |
11.77 |
宕机 |
五、实测总结
综合全场景的测试结果,我们可以对两个数据库的表现做一个客观的总结:
-
写入能力:KaiwuDB 具备显著优势 KaiwuDB 的写入引擎在全场景下都展现出了更强的硬件利用效率,中小规模场景下的吞吐能力达到了 InfluxDB 的 7 倍,能够支撑工业物联网、车联网这类海量写入的业务场景,写入上限远高于 InfluxDB。
-
小数据场景:InfluxDB 的简单查询有小幅优势 在极小数据规模、低并发的简单查询场景下,InfluxDB 的响应速度略快,适合轻量的小数据业务场景,比如个人开发者的小型监控项目、非核心的轻量数据统计。
-
中大规模场景:KaiwuDB 的稳定性与性能全面领先 当数据规模超过 4000 设备后,InfluxDB 的性能出现了断崖式的下跌,复杂查询的时延飙升,甚至出现服务宕机的情况,无法支撑大规模的时序业务;而 KaiwuDB 在全规模下都保持了稳定的性能,复杂查询的时延始终可控,能够支撑超大规模的时序数据业务。
-
高并发场景:KaiwuDB 的性能衰减更小 在高并发的查询压力下,InfluxDB 的性能衰减非常明显,简单查询的时延也会出现上升,而 KaiwuDB 的性能始终保持稳定,能够支撑高并发的查询业务。
六、选型建议
基于本次的测试结果,我们可以针对不同的业务场景,给出以下中立的选型建议:
推荐选择 KaiwuDB 的场景
如果你的业务符合以下特征,KaiwuDB 会是更合适的选择:
-
海量时序数据写入:比如工业物联网、车联网、能源监测这类业务,每秒需要处理数十万甚至百万级的写入点,KaiwuDB 的高写入吞吐能够更好地支撑这类业务的压力。
-
中大规模数据 + 复杂查询:比如企业级的运维监控、AIOps 异常检测、多维度的时序数据分析,这类业务不仅数据量大,还需要大量的复杂聚合查询,KaiwuDB 的稳定查询性能能够保障业务的实时性。
-
核心业务的高可用需求:如果是核心业务系统,不能容忍查询导致的服务宕机,KaiwuDB 在高负载下的鲁棒性能够保障服务的稳定性,避免因为高负载查询导致整个服务不可用。
-
高并发查询场景:如果业务需要支撑大量的并发查询,比如多租户的监控平台,KaiwuDB 的高并发性能能够保障所有用户的查询体验。
推荐选择 InfluxDB 的场景
如果你的业务符合以下特征,InfluxDB 也可以是一个合适的选择:
-
极小数据规模的轻量业务:比如个人开发者的小型项目、非核心的轻量监控,数据量很小,查询都是简单的聚合查询,InfluxDB 的简单查询小幅优势可以得到发挥,同时部署也比较轻量。
-
非核心的临时数据统计:对于一些非核心的、对查询响应时间要求不高的临时统计业务,如果数据量不大,InfluxDB 也可以满足需求。
注意:本次测试仅针对单节点场景下的 KaiwuDB 3.1.0 与 InfluxDB v1.6.4 版本进行对比,不同版本、不同部署模式(比如分布式集群)下的性能表现可能存在差异,建议用户在选型时,结合自己的实际业务场景进行针对性的测试验证。
以上就是本次 KaiwuDB 与 InfluxDB 全场景实测对比的全部内容,如果你在项目落地、数据库选型、时序业务优化中遇到困惑,或是有不同场景的实测体验、使用心得,欢迎在评论区积极交流、一起探讨。想看其他数据库的对标测试、专属场景性能测评,欢迎随时留言交流!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)