本文转载自: http://blog.sina.com.cn/s/blog_842f551e01016pnu.html
发现 thread_cache_size 原来设置好小,这个默认值实质上也偏小,建议大的web项目,要调大这个值。
一、多大算合适 :
说实话我也不是很清楚,但是查阅了N多中文,英文资料,大部分:
1. SHOW STATUS LIKE 'threads%';
看以下几个值:
Variable_name Value
Threads_cached 0
Threads_connected 51
Threads_created 655068
Threads_running 48
可以不断刷新,如果
Threads_created 不断增大,那么当前值设置要改大,改到
Threads_connected 值左右,再结合物理内存 1G —> 8;2G —> 16; 3G —> 32; >3G —> 64 二个情况综合考虑一下值。
注译:
Threads_cached :代表当前此时此刻线程缓存中有多少空闲线程。
Threads_connected :代表当前已建立连接的数量,因为一个连接就需要一个线程,所以也可以看成当前被使用的线程数。
Threads_created :代表从最近一次服务启动,已创建线程的数量。
Threads_running :代表当前激活的(非睡眠状态)线程数。并不是代表正在使用的线程数,有时候连接已建立,但是连接处于sleep状态,这里相对应的线程也是sleep状态。
二、如何修改
vi my.cnf 配置文件,[mysqld] 下 增加
thread_cache_size = 64
别忘了需mysql 重启后才生效!