宝塔MySQL数据库安装很慢_宝塔⾯板优化之Mysql数据库性
能调优
在PHP+MYSQL架构⽹站运⾏过程中,往往会遇到各种性能问题影响,如MySQL、PHP、CPU、磁盘IO、缓存等,其中MySQL瓶颈就是最常见也最难解决的⼀种影响⽹站性能的因素;通常,我们会使⽤redis、memcached等缓存软件来缓存内容,这确实是最优的解决⽅案之⼀,但这需要⽹站程序的⽀持,然⽽多数常⽤⽹站程序并不⽀持或者不能完美⽀持这些缓存软件,今天我们就来谈谈如何通过MySQL ⾃⾝的配置调整来优化MySQL性能,以缓解MySQL瓶颈问题。宝塔⾯板优化之Mysql数据库性能调优 - 奇它博客q itablog
1、宝塔Linux⾯板 正式版 5.2.0+ (2017/09/20发布) 测试版5.2.4+
2、MySQL 5.x通常MySQL调优我们分以下⼏部分:
1、MySQL配置参数调优 (需要根据⽹站运⾏情况调整)
2、数据表索引调优 (效果明显,但通常优秀的开源程序都不需要调整)
3、SQL语句调优 (这是程序员或DBA⼲的事)
今天我们主要谈谈如果配合宝塔⾯板的新功能来进⾏MySQL配置参数调优,我们先来看两张图⽚
很明显,(图1)显⽰的是MySQL当前的运⾏状态,(图2)显⽰的是MySQL主要配置参数
调 整 参 数
1、活动/峰值连接数 (图1)中当前活动的连接为1个,⾃MySQL服务启动以来,最⾼连接数为54;当最⾼连接数接近或等于(图2)中的max_connections时,应适当增加max_connections,需要注意的是,不要⼀下⼦增加过多,建议每次增加50,观察⼀段时间,不够再继续增加。
2、线程缓存命中率 (图1)中线程缓存命中率为99.78%,若这个值⼩于90%,建议适当增加(图2)中的th
read_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语句,所以在运⾏过
程中会开启⼤量临时表,加多少缓存都是不够⽤的。
mysql下载完如何使用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、优化⽅案 这个是我们根据内存⼤⼩给的⼀个推荐优化⽅案,仅是建议仅⽤于基础参考值,还是要根据实据情况来调整每⼀个配置项。
注意:保存参数配置后不会⽴即⽣效,记得要重启MySQL服务
相关⽂章
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论