整理圣保罗服务器数据库连接超时导致服务异常的排查实战。
数据库连接超时会引发服务大面积异常。以下是实战。
一、确认现象 - 应用报连接超时或连接池耗尽 - 数据库负载并不高 - 高峰期更明显
二、定位 1) 查看应用与数据库连接数与等待 2) 检查网络延迟与丢包 3) 查看慢查询与锁等待 4) 检查连接池配置
三、常见原因 1) 连接池配置过小或泄漏 2) 慢查询长时间占用连接 3) 跨区域访问延迟高 4) 锁等待与事务过长 5) 网络抖动丢包
四、处理 - 合理设置连接池上限与超时 - 优化慢查询与加索引 - 读写分离与缓存 - 应用与数据库就近部署 - 排查网络抖动
五、优化 1) 连接复用与池化 2) 慢查询治理 3) 缓存热点数据
六、预防 - 连接池与慢查询监控 - 容量规划与压测 - 就近部署
总结:数据库超时要先看连接数与慢查询,再从连接池、索引与就近部署优化。