插入数据周期性卡顿

【TDengine 使用环境】
生产环境

【TDengine 版本】

3.3.6.6

【操作系统以及版本】

centos 7

【部署方式】容器/非容器部署

非容器

【集群节点数】

2

【集群副本数】

1

【描述业务影响】

插入数据周期性卡顿,看taosd日志经常报:
worker:vnode-write,message has been queued for too long, cost: 47s

【问题复现路径/shan】做过哪些操作出现的问题

【遇到的问题:问题现象及影响】

【资源配置】

【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)

查询对应时间的资源监控,看磁盘IO是否已到达瓶颈。

磁盘性能感觉没完全用完,测试磁盘性能能达到170M/S

图上最后一条记录,使用率已经达到了 91%,w_await达到240.9 ms,建议采用资源监控软件做个长时间监控。
vnode-write 线程只是将数据落盘,造成影响大概率都是磁盘性能不足造成的。

好的,谢谢了,新增数据节点把数据分到其它服务器上去是不是能分担磁盘io的压力

增加数据节点确实可以分担负载,但增加后,需要手动迁移vnode


如果leader分布不均衡,可以重平衡

我用同样这台服务器taosBenchmark测试(默认配置),测试结果感觉还是挺快的,可能还不是磁盘瓶颈:
SUCC: Spent 405.006433 (real 402.543226) seconds to insert rows: 100000000 with 8 thread(s) into test 246909.66 (real 248420.53) records/second

如果用taosBenchmark测性能,建议测试时间不少于10分钟。写入数据太少达不到测试目的。
需要保证数据充分落盘,你可以做个1小时的持续压测,看下性能指标。

现在新建一个库,增大了vgroups数量目前好了,之前的问题有没有可能是vgroups不够,导致vnode-write线程排队导致的?

我们通常建议 commThread 数量与 vnode 数量保持一种。