【TDengine 使用环境】
测试
【TDengine 版本】
3.3.7
【操作系统以及版本】
统信OS
【部署方式】容器
【集群节点数】1
【集群副本数】1
【描述业务影响】
【问题复现路径/shan】数据库运行缓慢,cpu持续占用高,之后重启,资源恢复后测试
【遇到的问题:问题现象及影响】一样的运行逻辑,在压力测试前一段时间入库速度比较高,但跑着跑着就变慢
【资源配置】32G 8核
【报错完整截图】
压测期间资源消耗图 不知道怎么排查这个问题【TDengine 使用环境】
测试
【TDengine 版本】
3.3.7
【操作系统以及版本】
统信OS
【部署方式】容器
【集群节点数】1
【集群副本数】1
【描述业务影响】
【问题复现路径/shan】数据库运行缓慢,cpu持续占用高,之后重启,资源恢复后测试
【遇到的问题:问题现象及影响】一样的运行逻辑,在压力测试前一段时间入库速度比较高,但跑着跑着就变慢
【资源配置】32G 8核
【报错完整截图】
压测期间资源消耗图 不知道怎么排查这个问题– 一天一个数据块 数据存一年 总共4个分片 每个分片一个vnode 每个vnode有128m写缓存 32m读缓存 缓存子表最近写入数据 合并子表落盘(因为我们系统表比较多)以子表名结尾4个字符分片
CREATE DATABASE xxxxxxx VGROUPS 4 PRECISION ‘ms’ KEEP 366d DURATION 1 BUFFER 128 CACHESIZE 32 CACHEMODEL ‘both’ STT_TRIGGER 8 STT_TRIGGER 4; 建库是这样的。今天早点的时候,我压测也发现运行时间久,入库会变慢的情况,当时没加监控日志,只是从图上看变慢时间点前后,内存占用会大幅减少。原本我以为是系统落盘清理内存时会导致insert变慢,但晚上加了监控重新测,发现有异常时,内存占用没有下来
不知道我有没有说清楚。我让ai给我整理了一下:TDengine 问题详细说明
TDengine 版本:3.3.7
操作系统:统信 OS
部署方式:容器部署
集群配置:单节点集群(节点数 1)、副本数 1
资源配置:宿主机 / 容器资源为 32G 内存 + 8 核 CPU
sql
CREATE DATABASE xxxxxxx
VGROUPS 4 -- 4个分片(每个分片对应1个vnode)
PRECISION 'ms'
KEEP 366d -- 数据保留1年
DURATION 1 -- 数据块时长1天
BUFFER 128 -- 每个vnode写缓存128MB
CACHESIZE 32 -- 每个vnode读缓存32MB
CACHEMODEL 'both' -- 缓存最近写入的子表数据
STT_TRIGGER 8 -- 子表合并落盘触发条件(此处配置重复,实际以最后一个STT_TRIGGER 4为准)
STT_TRIGGER 4;
压测初期表现:
入库速度正常:persistMessage接口调用次数 1000 次 / 周期,平均耗时稳定在 45~55ms;
资源占用稳定:CPU 占用处于合理区间,内存占用逐步上升后保持高位。
压测后期异常:
入库速度骤降:persistMessage接口平均耗时从~50ms 飙升至 150ms 以上,最高达 342ms;
CPU 持续高占用:容器 CPU 使用率长期维持在 300%~400%(监控图中 “执行了 sql 后 cpu 一直高” 阶段);
内存无预期下降:异常出现时,内存未因数据落盘而降低,仍保持高位(与 “落盘清理内存导致变慢” 的初始猜测不符)。
重启后的表现:
重启服务后,CPU、内存占用恢复正常,压测可重新启动并恢复初期的正常入库速度;
重复压测后,上述 “初期正常→后期变慢 + CPU 高占” 的问题会再次复现。
业务侧:数据入库延迟增加,可能导致数据堆积或业务流程阻塞;
资源侧:CPU 长期高负载运行,容器资源利用率异常,存在服务稳定性风险。
您好,目前来看线索不是很多。您可以在写入阻塞时,top -H 看下什么线程占比比较高。
感谢回答,我复现问题后再把信息贴上来。除了这个外还需要什么信息?需要运行日志吗
如果日志中有 ERROR 就一起贴出来。