mysql -参数thread_cache_size优化方法 小结
全局,动态,默认值-1表示自动调整大小,公式8 + (max_connections / 100)。
最小值0,最大值16384,查看当前
MySQL [(none)]> show variables like 'thread_cach%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | thread_cache_size | 64 | +-------------------+-------+
在经常创建新的连接的情况下,提高该值可提高mysql性能,因为减少了连接的分配,但使用了java的连接池等,性能提升没那么显著。如果每秒有上百的连接,需要将该值设置足够高。
#尝试连接次数,无论是否成功连接 MySQL [(none)]> show global status like 'connections'; +---------------+-----------+ | Variable_name | Value | +---------------+-----------+ | Connections | 177312707 | +---------------+-----------+ 1 row in set (0.00 sec) MySQL [(none)]> show global status like 'thread%'; +-------------------+--------+ | Variable_name | Value | +-------------------+--------+ | Threads_cached | 49 | #线程缓存中的空闲线程数 | Threads_connected | 416 | #当前打开的连接数 | Threads_created | 208872 | #创建连接的线程数,如果很大,需要添加thread_cache_size大小 | Threads_running | 5 | #当前未休眠的连接 +-------------------+--------+
通过检查Connections和Threads_created状态变量之间的差异,您可以看到线程缓存的效率,越小越好
MySQL [(none)]> select 208872/177312707; +------------------+ | 208872/177312707 | +------------------+ | 0.0012 | +------------------+
狼蚁网站SEO优化是一些补充说明
根据调查发现以上服务器线程缓存thread_cache_size没有进行设置,或者设置过小,这个值表示可以重新利用保存在缓存中线程的数量,当断开连接时如果缓存中还有空间,那么客户端的线程将被放到缓存中,如果线程重新被请求,那么请求将从缓存中读取,如果缓存中是空的或者是新的请求,那么这个线程将被重新创建,如果有很多新的线程,增加这个值可以改善系统性能.通过比较 Connections 和 Threads_created 状态的变量,可以看到这个变量的作用。(-->表示要调整的值) 根据物理内存设置规则如下
1G ---> 8
2G ---> 16
3G ---> 32
>3G ---> 64
优化方法
1、mysql> set global thread_cache_size=16
2、编辑/etc/my.f 更改/添加
thread_concurrency = 16
1、MySQL服务器的线程数查看方法
show global status like 'Thread%';
Threads_created创建过的线程数,如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值
2、优化参数thread_cache_size
thread_cache_size当客户端断开之后,服务器处理此客户的线程将会缓存起来以响应下一个客户而不是销毁(前提是缓存数未达上限)
即可以重新利用保存在缓存中线程的数量,当断开连接时如果缓存中还有空间,那么客户端的线程将被放到缓存中,如果线程重新被请求,那么请求将从缓存中读取,如果缓存中是空的或者是新的请求,那么这个线程将被重新创建,如果有很多新的线程,增加这个值可以改善系统性能。
thread_cache_size大小的设置
如果是短连接,适当设置大一点,因为短连接往往需要不停创建,不停销毁,如果大一点,连接线程都处于取用状态,不需要重新创建和销毁,所以对性能肯定是比较大的提升。
对于长连接,不能保证连接的稳定性,所以设置这参数还是有一定必要,可能连接池的问题,会导致连接数据库的不稳定性,也会出现频繁的创建和销毁,但这个情况比较少,如果是长连接,可以设置成小一点,一般在50-100左右。
物理内存设置规则通过比较Connections 和 Threads_created 状态的变量,可以看到这个变量的作用。(-->表示要调整的值) 根据物理内存设置规则如下
1G ---> 8
2G ---> 16
3G ---> 32
>3G ---> 64
查询thread_cache_size设置
show global status like'thread_cache_size';
优化方法
1、mysql> set global thread_cache_size=16
2、编辑/etc/my.f 更改/添加
thread_concurrency = 16
3、mysql kill线程
mysqladmin start slave s slave kill某个连接到mysqlServer的线程
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南