thread_cache_size 控制線程緩存池大小。連接斷開時,線程放入緩存;新連接優先從緩存取線程,減少 pthread_create 系統調用開銷。
8(極小)。64。128~256,但邊際收益遞減,不宜盲目設極大值(如 500)。-- 運行時生效
SET GLOBAL thread_cache_size = 64;
-- 持久化配置
[mysqld]
thread_cache_size = 64
SHOW STATUS LIKE 'Threads_created';
SHOW STATUS LIKE 'Threads_cached';
Threads_created 快速增長 → 緩存不足,需調大。Threads_cached 長期接近上限 → 緩存足夠或過大。「併發 500 就設 500」是錯誤認知。線程緩存是為復用,非並發容量。併發容量由 max_connections、CPU、內存、IO 決定。thread_cache_size 只影響線程創建頻率,對吞吐量影響有限(通常 <5%)。