Java多线程调用 qps特别低

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

【TDengine 版本】 3.3.8.8

【操作系统以及版本】centos

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

【集群节点数】0

【集群副本数】0

【描述业务影响】 taosbenchmark qps可以达到三四千 但是 java 调用 qps 很低

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

【遇到的问题:问题现象及影响】taosbenchmark 不粘贴了 在预期内

java Hikari 调用不在预期内 1.cpu利用率低(同样sql taosbenchmark 查询可以跑满cpu) 2.16线程qps偏低 还没跑完 但是从单线程qps推算 完成时 qps 肯定不过1000

【资源配置】

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

taosBenchmark 和 java 测试 qps 时,都使用的什么模式, native,or reset or websocket ?

taosbenchmark 使用的是taosc 直接在centos 上运行的json脚本 ,java 用的是rest config.setJdbcUrl(“jdbc:TAOS-RS://47.120.19.4:6041/log”); 这种

需要将 taosadapter 的配置文件中的这两个参数修改大一些。

修改参数后,重启 taosadapter 服务才能生效。

修改完后 还是很低 没什么变化 重启过 服务了

感觉压测的发送的并发数没有发出来。应用端是自己写的代码,还是 jmeter 工具?
可以查看一下 taosadapter 服务接收到的并发有多大,来验证应用端是不是发出来了期望的 qps。
在压测过程中执行taos 命令:
select _wstart, sum(query) from log.adapter_requests where _c0 > now()-10m interval(10s) ;

应用端是自己写的java代码用的连接池 想试一下 实际业务的sql 在16线程下的qps

sql是 select imei, lon, lat, lon2, lat2, lon3, lat3, ride_status from `iot_data`.`bike_rec_3750` where ts<‘2025-01-01T00:16:39.000+08:00’ and create_time >‘1970-01-04T08:29:22.027+08:00’ limit 400,200

查一下 select _wstart, sum(query) from log.adapter_requests where _c0 > now()-10m interval(10s) ; 这个
看看是应用端本身发出来的 并发qps 就少,还会服务端处理的问题。

好像也不对啊

query 需要使用 飘号 引起来。

不支持sum语法 ?

不是用 引号,而是要用 飘号。键盘上数字 1 左边的那个键上的 飘号

这种是我请求的问题吗

对,说明最近10分钟内没有任何restful/websocket的请求。或可以将时间范围再扩大一点。

_c0 > now() - 1h

可是我应用端一直在发送查询请求呢 而且都成功了

确认是通过 restful 访问的 TDengine 服务的吗?