连接池通过预创建并复用数据库连接,避免频繁建连的TCP握手、认证等开销,控制最大连接数防止DB过载,并具备健康检查、泄漏检测和监控能力。
连接池就是提前准备好一批数据库连接,放在内存里存着,用的时候直接拿,用完不关,还回去继续用。
每次新建 MySQL 连接都要走 TCP 三次握手、身份认证、初始化会话状态,这些操作加起来可能耗时几十毫秒。高并发下反复创建销毁连接,CPU、网络、数据库线程都在空转。连接池把这部分“启动成本”摊到应用启动阶段,后续请求几乎零延迟获取连接。
MySQL 默认最大连接数通常是 151(含管理员保留),超出就会拒绝新连接。连接池通过 最大连接数 和 超时排队机制 把数据库负载卡在安全水位内,防止突发流量压垮 DB。
连接池不只是“缓存连接”,它还承担连接健康检查、泄漏检测、使用统计等职责。比如 Dru

说到底,连接池不是银弹,但它把“用数据库”这件事从“每次现烧水”变成了“拧开水龙头就有热水”,省下的不只是时间,更是系统扛压的底气。