服务器负载100%解决办法 服务器负载不兼容

服务器负载状态运行堵塞CPU使用率100%的解决办法

服务器负载100%解决办法 服务器负载不兼容

文章插图
Linux服务器运行堵塞
通常MySQL调优我们分以下几部分:
1、MySQL配置参数调优 (需要根据网站运行情况调整)
2、数据表索引调优 (效果明显,但通常优秀的开源程序都不需要调整)
3、SQL语句调优 (这是程序员或DBA干的事)
今天我们主要谈谈如果配合宝塔面板的新功能来进行MySQL配置参数调优,我们先来看两张图片:
(图1)
服务器负载100%解决办法 服务器负载不兼容

文章插图

(图2)
服务器负载100%解决办法 服务器负载不兼容

文章插图

服务器负载100%解决办法 服务器负载不兼容

文章插图
2核4G参考这个
很明显,(图1)显示的是MySQL当前的运行状态,(图2)显示的是MySQL主要配置参数
下面我们就来解读一下这两张图:1、活动/峰值连接数(图1)中当前活动的连接为1个,自MySQL服务启动以来,最高连接数为54;当最高连接数接近或等于(图2)中的max_connections时,应适当增加max_connections,需要注意的是,不要一下子增加过多,建议每次增加50,观察一段时间,不够再继续增加 。2、线程缓存命中率(图1)中线程缓存命中率为99.78%,若这个值小于90%,建议适当增加(图2)中的thread_cache_size,建议每次增加8 。3、索引命中率(图1)中索引命中率为99.50%,若这个值小于95%,建议适当增加(图2)中的key_buffer_size,建议每次增加64,需要说明的是,若您的数据库使用的是Innodb引擎,可忽略这个选项4、Innodb索引命中率 (图1)中Innodb索引命中率为100%,若这个值小于95%,建议适当增加(图2)中的innodb_buffer_pool_size,建议每次增加64,需要说明的是,若您的数据库没有使用Innodb引擎,可忽略这个选项5、查询缓存命中率MySQL查询缓存是个比较受争议的功能,个人建议当你有在使用redis、memcached等缓存软件时,在(图2)中将query_cache_size设为0可以将其关闭,当你没有使用缓存软件,有多余的内存使用,且数据库瓶颈明显存在时,可以尝试开启查询缓存,这是个非常依赖数据表结构及SQL语句优化的功能,若数据表结构和SQL语句都针对查询缓存进行过优化,它的效果还是很不错的 。6、创建临时表到磁盘(图1)中创建临时表到磁盘的比例是0.42%,这说明大部分临时表创建到内存了,不会过多增加磁盘IO的开销,建议,当比例大于2%时适当增加(图1)中的tmp_cache_size,建议每次增加32,当比例大于60%时,放弃吧,有些开源程序并没有专门优化过SQL语句,所以在运行过程中会开启大量临时表,加多少缓存都是不够用的 。7、已打开的表当(图1)中的已打开的表接近或等于(图2)中的table_open_cache时,可以适当增加table_open_cache,但若设置过大可能导致您的程序频繁中断MySQL连接,建议在1024以内,最大不要超过2048 。8、没有使用索引的量、没有使用索引的JOIN量若不为0,就检查下数据表索引吧,其实只要没有疯涨,比如一天增涨几千,一般可以忽略,毕竟优化索引还是程序员或DBA去干比较合适 。9、排序后的合并次数如果这个值在缓慢增长,建议适当增加(图2)中的sort_buffer_size,建议每次增加512,但最大不要超过8192,如果这个值一直在疯涨,增加sort_buffer_size也没用,就放弃这个选项吧,这个锅还是给程序开发者背 。10、锁表次数如果服务器CPU开销不大的情况下,疯狂锁表,建议你将所有数据表转换成innodb,记得转换前备份哦 。11、优化方案这个是我们根据内存大小给的一个推荐优化方案,仅是建议仅用于基础参考值,还是要根据实际情况来调整每一个配置项 。修改参考:本人是2核4G服务器,如果你和我的一样可以直接参考图二修改,其他配置自测,修改后如下图所示


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: