thread_cache_size功能在mysql数据库配置文件中是非常重要的一项功能了,如果对thread_cache_size优化做得好我们可以让服务器跑得非常快,设置不好就会发现很小访问量就非常的卡.
thread_cache_size
查询进程使用情况,代码如下:
- mysql> show global status like ‘Thread%’;
- +——————-+———-+
- | Variable_name | Value |
- +——————-+———-+
- | Threads_cached | 26 |
- | Threads_connected | 510 |
- | Threads_created | 35168165 |
- | Threads_running | 459 |
- +——————-+———-+
- 4 rows in set (0.01 sec)
查询服务器 thread_cache_size配置,代码如下:
- mysql> show variables like ‘thread_cache_size’;
- +——————-+——-+
- | Variable_name | Value |
- +——————-+——-+
- | thread_cache_size | 32 |
- +——————-+——-+
- 1 row in set (0.00 sec)
- //开源软件:phpfensi.com
如果我们在MySQL服务器配置文件中设置了thread_cache_size,当客户端断开之后,服务器处理此客户的线程将会缓存起来以响应下一个客户而不是销毁,前提是缓存数未达上限.
Threads_created表示创建过的线程数,如果发现Threads_created值过大的话,表明 MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,根据调查发现以上服务器线程缓存thread_cache_size没有进行设置,或者设置过小,这个值表示可以重新利用保存在缓存中线程的数量,当断开 连接时如果缓存中还有空间,那么客户端的线程将被放到缓存中,如果线程重新被请求,那么请求将从缓存中读取,如果缓存中是空的或者是新的请求,那么这个线 程将被重新创建,如果有很多新的线程,增加这个值可以改善系统性能.通过比较 Connections 和 Threads_created 状态的变量,可以看到这个变量的作用,(?>表示要调整的值),根据物理内存设置规则如下:
1G ?> 8
2G ?> 16
3G ?> 32
>3G ?> 64 |