TiDB 无资源瓶颈

TiDB 无资源瓶颈,但 SQL 出现大量本地流等待(local_stream),如何快速定位是服务端还是驱动问题?

  • 同一 SQL,不同驱动 / 客户端表现不一致驱动 / 客户端问题
  • 同一 TiDB 节点,所有连接都存在 local_stream服务端配置 / 网络问题
  • SQL 执行快、结果集大、fetch 等待高驱动 fetch_size 配置问题
  • 服务端无等待、无 IO、无 CPU 瓶颈99% 驱动 / 客户端配置问题
1 个赞

查看 Grafana → TiDB → Executor 监控
看两个面板:

  1. LocalStream 等待占比
  2. Fetch And Wait 等待占比

同 SQL 用 mysql 客户端直连 TiDB,客户端无阻塞 = JDBC 驱动 /fetchSize 配置问题,客户端也堵 = TiDB 服务端

选型要看具体场景。如果数据量在百TB以内、读多写少、对强一致性有要求,TiDB 挺合适。如果数据量级不大(单机够用)或业务逻辑复杂(存储过程、触发器多),MySQL 更省事。建议拿业务做 POC 测试对比。

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