TiDB 客户端连接时报 too many connections 故障

这种情况有多种原因造成,常见原因有以下几点:

  1. 应用连接泄漏,连接用完未归还,大量 Sleep 空闲连接堆积;
  2. 应用连接池maximumPoolSize设置过大,多实例叠加压满单 TiDB 节点;
  3. 代理(HAProxy/LVS)空闲超时与数据库wait_timeout不匹配产生僵死连接;
  4. max_connections设置过小;
  5. 慢 SQL / 长事务占住连接不释放。