KaiwuDB V3.0 性能实战:使用 kwdb-tsbs 完整生成、导入与查询基准测试指南

KaiwuDB V3.0 性能实战:使用 kwdb-tsbs 完整生成、导入与查询基准测试指南

KaiwuDB 概览与核心能力

KaiwuDB 是浪潮控股、面向 AIoT 场景的分布式多模数据库,支持时序与关系数据一库融合处理,具备高性能时序读写、就地计算、原生 AI能力,稳定安全、易运维,适配工业物联网、数字能源、车联网等场景,满足自主可控与海量设备数据管理需求

多模融合:搭载自适应时序引擎、预测分析引擎,实现多模数据统一管理,一站式满足 AIoT 全场景数据治理需求

高性能:依托就地计算、智能预计算与多模架构,支持高速入库、极速查询,覆盖数据采集、复杂查询、探索分析等全场景

低成本:自研高压缩算法可节省 90% 存储资源,搭配数据生命周期管理与分级存储;兼容 SQL 及主流生态,大幅降低学习与运维成本

kwdb-tsbs 工具概述

kwdb-tsbs 是一个基于 Timescale/tsbs 改造的开源高性能时序数据库基准测试工具,完整支持 KWDB 的数据生成、导入和查询测试功能。

  • 数据生成:支持自定义设备数、时间范围和数据间隔
  • 高效数据导入:针对 KWDB 优化的批量写入工具
  • 查询场景:提供标准时序查询模板
  • 自动化测试:一键执行完整 KWDB 基准测试流程

环境与依赖准备

下面文字系统介绍 KaiwuDB V3.0 环境部署与快速上手,包含安装、配置及性能测试全流程指南;若无现成环境,可参考下文完成配置

KaiwuDB V3.0 环境部署与快速上手:安装、配置与性能测试指南:https://weishuo.blog.csdn.net/article/details/158152717?spm=1011.2415.3001.5331

kwdb-tsbs 安装与编译指南

kwdb-tsbs必须以源码编译的方式安装部署,编译需要go语言版本在1.23或者以上版本
1、验证go语言版本

bash 复制代码
go version

2、kwdb-tsbs源码获取

bash 复制代码
git clone https://gitee.com/kwdb/kwdb-tsbs.git

3、进入kwdb-tsbs路径

bash 复制代码
cd kwdb-tsbs/

4、编译kwdb-tsbs

bash 复制代码
make
  • 配置阿里云 Go 镜像(解决依赖拉取慢 / 卡住)
bash 复制代码
# 配置 GOPROXY 为阿里云国内镜像
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

# 验证配置生效
go env | grep GOPROXY
  • 直接编译 tsbs_generate_data
bash 复制代码
# 编译工具到 bin 目录
for dir in ./cmd/*/; do 
    tool=$(basename $dir)
    echo "编译 $tool ..."
    go build -v -o ./bin/$tool $dir
done

5、编译成功

6、查看编译内容

bash 复制代码
tree ./bin/

kwdb-tsbs生成数据

官方文档:https://gitee.com/kwdb/docs/blob/master/tool-command-reference/perf-benchmark/kwdb-tsbs.md
kwdb-tsbs 提供数据生成工具(tsbs_generate_data),为 KWDB 数据库生成一个伪 CSV 文件。其中,每行表示一条记录,首项为操作类型(1 或 3)。

  • 1:表示插入数据(包括数据值和标签值),格式为 1,ptag名,字段数量,插入的数据。
  • 3:表示写入标签值,格式为 3,表名,ptag名,标签值
    1、生成数据(生成KaiwuDB 的、模拟 100 台主机 1 天内的 CPU 监控数据每 10 秒采集 1 次,数据完全有序,最终输出到 data.dat 文件)
bash 复制代码
./tsbs_generate_data \
  --format="kwdb" \
  --use-case="cpu-only" \
  --seed=123 \
  --scale=100 \
  --timestamp-start="2026-02-16T00:00:00Z" \
  --timestamp-end="2026-02-17T00:00:00Z" \
  --log-interval="10s" \
  --orderquantity=12 \
  --outoforder=0 \
  --outoforderwindow=1s > data.dat

2、查看文件内容(通过 TSBS 工具为 KaiwuDB 生成的 CPU 性能测试数据)

bash 复制代码
vi data.dat

导入数据

kwdb-tsbs 提供数据导入工具(tsbs_load_data),将由 tsbs_generate_data 工具生成的数据文件导入到目标数据库。tsbs_load_data 工具支持 INSERT 模式和 PREPARE 模式。两种数据导入模式的参数基本相同

INSERT 模式

1、通过 TSBS 工具,以证书认证方式、8 线程批量插入 1000 行,将 cpu-only 场景的 data.dat 测试数据导入 KWDB 集群库

bash 复制代码
./tsbs_load_kwdb \
--file=data.dat \
--user=root \
--host=120.55.72.198 \
--port=26257 \
--certdir=/etc/kaiwudb/certs \
--insert-type=insert \
--batch-size=1000 \
--db-name=defaultdb \
--case=cpu-only \
--workers=8 \
--partition=false

2、KWDB 终端执行查询

sql 复制代码
# 切换到导入的库
USE defaultdb;  
# 统计总行数(应输出 864000)
SELECT COUNT(*) FROM cpu;  
# 查看前5行数据
SELECT hostname AS host, k_timestamp AS ts, usage_user AS cpu_usage FROM cpu LIMIT 5;
  • 成功查询到了导入的 CPU 测试数据,终端输出清晰展示了 host_2 主机不同时间点的 CPU 使用率,从数据生成、导入到查询的全流程都成功了
PREPARE 模式

PREPARE 模式和INSERT 模式类似此处不做演示,展示官方代码

bash 复制代码
./tsbs_load_kwdb \
  --file=data.dat \
  --user=root \
  --pass=1234 \
  --host=127.0.0.1 \
  --port=26257 \
  --insert-type=prepare \
  --preparesize=1000 \
  --db-name=benchmark \
  --case=cpu-only \
  --workers=12 \
  --partition=false
  • ./tsbs_load_kwdb:执行 KWDB 数据导入可执行文件
  • --file=data.dat:指定待导入的 CPU 测试数据文件
  • --user=root:使用 root 用户连接 KWDB
  • --pass=1234:root 用户连接密码为 1234
  • --host=127.0.0.1:KWDB 集群连接 IP 为本地回环地址
  • --port=26257:KWDB 客户端连接端口
  • --insert-type=prepare:采用预编译插入模式
  • --preparesize=1000:单次预编译插入 1000 行数据
  • --db-name=benchmark:数据导入至 benchmark 数据库
  • --case=cpu-only:导入仅包含 CPU 指标的测试数据
  • --workers=12:启用 12 个线程并行导入
  • --partition=false:关闭表自动分区功能

kwdb-tsbs生成查询

kwdb-tsbs 提供查询生成工具(tsbs_generate_queries),用以生成指定查询类型的查询脚本

bash 复制代码
./tsbs_generate_queries \
    --format=kwdb \
    --use-case="cpu-only" \
    --seed=123 \
    --scale=100 \
    --query-type="double-groupby-all" \
    --prepare=false \
    --queries=100 \
    --timestamp-start="2026-02-16T00:00:00Z" \
    --timestamp-end="2026-02-17T00:00:01Z" \
    --db-name=benchmark > query.dat

终端输出 KWDB mean of 10 metrics, all hosts, random 12h0m0s by 1h: 100 points 是正常的生成日志,说明工具已经生成了 100 条适配 KWDB 的查询语句并写入 query.dat 文件

  • 查看内容
bash 复制代码
vi query.dat

kwdb-tsbs执行查询

在完成数据生成、数据导入、查询生成后,用户可以使用 tsbs_run_queries_kwdb 工具测试 KWDB 数据库的查询执行性能
通过 TSBS 工具完成 KWDB 性能测试,导入 100 台主机 24 小时 CPU 时序数据至 defaultdb 库,以 8 线程并发执行 100 条双层分组聚合查询,所有查询均成功,平均查询速率 28.55 条 / 秒,平均响应时间 270.37ms、最大 454.48ms,验证了其时序数据存储与复杂聚合查询能力

bash 复制代码
./tsbs_run_queries_kwdb \
    --file=query.dat \
    --user=root \
    --host=120.55.72.198 \
    --port=26257 \
    --certdir=/etc/kaiwudb/certs \
    --prepare=false \
    --db-name=defaultdb \
    --workers=8 > query.log
  • 查看文件内容
bash 复制代码
vi query.log

kwdb-tsbs自动化测试

kwdb-tsbs 在 kwdb-tsbs/scripts 目录下提供自动化脚本(tsbs_kwdb.sh),用户可以一键执行完整的 KWDB 性能基准测试流程

  • 已安装 kwdb-tsbs 以及 Go 1.23 或更高版本。
  • 具有执行自动化测试脚本的权限
    1、进入脚本文件
bash 复制代码
cd kwdb-tsbs/scripts

2、注释tsbs_kwdb.sh脚本中下面这一段内容否则会报错

bash 复制代码
vim ./tsbs_kwdb.sh

3、一键运行 tsbs_kwdb.sh 脚本完成tsbs对kwdb全流程性能测试

bash 复制代码
sudo workspace="/usr/local/kaiwudb" \
     query_workers=8 \
     port=26257 \
     host="120.55.72.198" \
     certdir="/etc/kaiwudb/certs" \
     user="root" \
     db-name="defaultdb" \
     ./tsbs_kwdb.sh

运行完成后,生成以下相关文件

bash 复制代码
kwdb-tsbs/
├── load_data/          # 生成的导入数据
├── query_data/         # 生成的查询数据
└── reports/            # 生成的测试结果
└── YMD_HMS_scale[scaleNum]_cluster[clusterNum]_insert[insertType]_wal[walSetting]_replica[replicaNum]_dop[degreeOfParallelism]/
├── load_data/  # 导入测试的结果
└── query_data/ # 查询测试的结果

总结

KaiwuDB V3.0 性能实战:使用 kwdb-tsbs 完整生成、导入与查询基准测试指南,感兴趣的小伙伴可以一起体验!

相关推荐
wei_shuo11 小时前
KaiwuDB V3.0 环境部署与快速上手:安装、配置与性能测试指南
kaiwudb·kwdb·3.0
想你依然心痛9 天前
深度实战:KWDB跨模查询在智能电网监控系统中的落地实践
时序数据库·智能电网·kwdb·跨模查询·数据库实战
banjin1 个月前
轻量化时序数据库新选择:KaiwuDB-Lite 实战体验
数据库·oracle·边缘计算·时序数据库·kaiwudb·kwdb
度假的小鱼9 个月前
【KWDB 创作者计划】_探秘浪潮KWDB数据库:从时间索引到前沿技术
数据库·kwdb
banjin9 个月前
【KWDB 2025 创作者计划】_KWDB时序数据库特性及跨模查询
数据库·时序数据库·kwdb
国服第二切图仔9 个月前
【KWDB 创作者计划】一文掌握KWDB的时序表管理
数据库·kwdb
度假的小鱼9 个月前
【KWDB 创作者计划】_Ubuntu 22.04系统KWDB数据库安装部署使用教程
kwdb
KaiwuDB9 个月前
KaiwuDB X 遨博智能 | 构建智能产线监测管理新系统
大数据·数据库·kaiwudb·分布式多模数据库
小黄人202510 个月前
【KWDB 创作者计划】一款面向 AIoT 的多模数据库实战体验
数据库·云计算·kwdb