为啥我用taosbenchmark去测qps,测出来这么低啊

【TDengine 使用环境】测试环境

【TDengine 版本】3.3.8

【操作系统以及版本】centos 7.9

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

【集群节点数】

【集群副本数】

【描述业务影响】

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

【遇到的问题:问题现象及影响】vehicle_data这张表数据共10亿条,执行查询脚本,qps很低,远低于官方文档的qps

【资源配置】4核16g

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

新手小白测试数据库性能,欢迎大佬指正

测试的 JSON 文件能发下吗,另外前几个 SQL 在 taos-CLI 中手动查询下,看耗时多少,给截个图

{
  "filetype": "query",
  "cfgdir": "/etc/taos",
  "host": "127.0.0.1",
  "port": 6030,
  "user": "root",
  "password": "taosdata",
  "confirm_parameter_prompt": "no",
  "continue_if_fail": "yes",
  "databases": "vehicle_db",
  "query_times": 100000,
  "query_mode": "taosc",
  "specified_table_query": {
    "query_interval": 1,
    "threads": 10,
    "sqls": [
      {
        "sql": "select count(1) from vehicle_data where ts >= '2025-01-01 00:00:00.000' AND ts < '2025-01-01 01:00:00.000' AND region = 'north'  ;",
        "result": "./query_res0.txt"
      }
    ]
  }
}

@TDuser_DKny_6921 在这里哦

为什么木有人理我

在 taos 客户端分别执行这两个 sql,看看这俩查询的 sql 耗时

“query_interval”: 1,

把这行去了, interval 会在每个查询之间做 sleep 的

其实我去掉了还是差不多的效果

这个有尝试过。是不是需要更改什么配置,查询才会变快。目前我用的是docker下载的镜像,完全没有更改配置

不需要更改配置,那你删除这个输出到文件中的这行试下

删除了,效果也是一样

我的使用效果也很差,cpu、内存占用非常高。

您提供的查询语句为:
select count(1) from vehicle_data where ts >= ‘2025-01-01 00:00:00.000’ AND ts < ‘2025-01-01 01:00:00.000’ AND region = ‘north’;

如果 vehicle_data是一个超级表,并且 region是其标签(Tag),那么这个查询是在统计特定时间范围和特定标签下的总记录数。查询耗时约0.5秒是可能出现的,尤其是在数据量较大或硬件配置普通的情况下。

这是因为,尽管查询条件中指定了时间范围和标签,但 COUNT(1)操作仍然需要扫描这些范围内的数据块来计数。TD 虽然通过子表和时间分片机制优化了数据定位,但如果查询涉及的数据量较大,那么这种多数据块查询可能仍需要不小的资源开销。

建议你查询子表试一下。例如
select count(1) from vehicle1;
select last(*) from vehicle1;

官网测的qps是查的子表吗

我知道为什么这么慢了。我的tags第一个标签用了整形,我改成binary后qps起飞到爆炸

@TDuser_M9rZ_1941 @TDuser_DKny_6921 @TDuser_cdSJ_8651 而且使用binary类型,

压缩率也要比使用整形高得多