JDBC 长查询间歇性卡顿,数据推送链路如何调优

线上 Java 应用使用 JDBC 访问 TiDB,部分中长结果集查询偶尔出现卡顿,排查发现耗时集中在结果集推送与流处理环节,网络、硬件、SQL 语句均无问题。除驱动配置外,有哪些全局或会话参数可优化数据推送链路?

调大 TiDB 传输块大小、提升流并发、扩容队列、关闭服务端流控与串行扫描,即可快速优化 JDBC 结果集推送卡顿。

可调整以下参数优化结果集推送卡顿:调大tidb_init_chunk_sizetidb_max_chunk_size增大传输块大小;调高tidb_distsql_scan_concurrencytidb_executor_concurrency提升流处理并发;扩大 TiKV 任务队列阈值;关闭 TiKV 服务端流控,关闭串行扫描相关参数,提升长结果集推送效率。

Raft 机制下写操作需要多数派确认,网络延迟会直接影响写入延迟。如果集群跨机房部署,建议确认下 Raft 的选举超时和心跳间隔配置是否合理。另外 PD 的调度策略默认是 balance-leader,可以根据业务读写比例调整。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。