批量insert数据时,tidb server cpu使用高

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.0
【复现路径】两台tidb server,单独一台跑数据,批量insert
【遇到的问题:问题现象及影响】cpu使用高
【资源配置】16核32G
【附件:截图/日志/监控】

TiDB的cpu利用率利用率高是因为在解析、优化sql语句。
常见的思路是首先分析日志,看是否在于pd,tikv的交互中是否有大量反复连接;
其次是看是否能优化sql语句,你看看能不能通过删减索引,或者其他方式试试。
最后是两台tidb server做负载均衡来处理吧,毕竟分布式数据库本来就是干这个的。

批量插是怎么个插法?,用prepstmt和batch了吗?

是的

这个日志是pd的日志吗

tidb server的cpu高通常是解析、优化sql比较频繁导致,你用了预编译的功能,感觉没有正确生效一样,你可以再检查复核一下客户端和服务端是否正常开启了预编译、批量插入的功能

一个insert 500条数据的执行过程,看着确实有问题

批插入是500条吗?应该不至于CPU很高吧

useServerPrepStmts=true你的jdbc连接里面这个参数开了吗?怎么感觉是没开,开了不应该重新生成执行计划吧?