Tdengine根据历史表查询最新值,10亿规模时查询延迟在1秒左右

【TDengine 使用环境】
生产环境 /测试/ Poc/预生产环境

【TDengine 版本】

3.3.6

【操作系统以及版本】

ubuntu 20.04

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

非容器部署

【集群节点数】

1

【集群副本数】

1

【描述业务影响】

从历史表获取设备属性最新值性能不足

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

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

【资源配置】

8C/32G

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

麻烦提供下db结构(show create database db_name\G;)

要确认一下是否打开了 cache_model,以及查看一下vnode 的 cache 是否足够。

tsdata开启了cache_model了,每个属性一条数据,建表语句如下:CREATE
STABLE iot.tsdata (
ts TIMESTAMP,
val VARCHAR(255)
) TAGS (
device_id VARCHAR(64),
identifier VARCHAR(64)
);

关键是数据没有空挡时没有问题,出现了一段时间的空挡后出现了CPU使用率很高的问题

需要以下命令的结果看cache 相关的信息:
show create database iot\G;

show iot.vgroups\G;
show dnodes\G;

CREATE DATABASE IF NOT EXISTS iot
  VGROUPS 8
  BUFFER 96
  CACHEMODEL 'both'
  DURATION 1d
  KEEP 7d;  只有一个节点

请按照我的命令提供信息,否则没有有效信息支持分析。