首页/数据/数据库速查/连接线程复用(thread_cache_size)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条
性能与调优57 条
Redis 命令96 条Redis 运维与场景124 条

连接线程复用(thread_cache_size)

连接风暴的缓冲垫:断开后线程进缓存供复用,省去反复创建线程的开销;默认值偏低,高并发短连接场景容易被反复创建拖慢。

数据库速查数据更新于 2026-10-12

状态与调整

状态与调整
SHOW STATUS LIKE 'Threads_%';
SHOW VARIABLES LIKE 'thread_cache_size';
SET GLOBAL thread_cache_size = 64;
-- 观察 Threads_created 是否随连接数同步暴涨
Threads_connected当前连接数
Threads_running正在执行的线程数(>CPU 核数说明排队)
Threads_created累计创建线程数,增速快=缓存太小
短连接业务(PHP-FPM 每请求短连)尤需关注;长连接池业务该看的是 Threads_running。

易错点

  • 只看 Threads_connected 不看 running:连着一堆空闲线程并不代表压力
  • 连接数打满报错 1040 时先加 thread_cache 却不动 max_connections,治标不治本

数据来源与参考

  • MySQL 8.0 Reference Manual: thread_cache_size

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌