浅谈MySQL数据库性能优化
作者:网络转载 发布时间:[ 2013/12/13 9:55:02 ] 推荐标签:
连接检查
相关参数:skip-name-resolve
skip-name-resolve参数用于禁止DNS的反向解析。MySQL默认开启了DNS的反向解析,当有新的连接到来时,MySQL会解析连接主机的DNS,这影响了连接速度。使用该参数也有一个代价,是每次连接都要使用ip地址,不能再使用localhost,改成127.0.0.1
配置建议值
根据以往数据库处理经验取值,仅供参考,不一定适用于所有场景,建议在生产环境中进一步分析调整
| MySQL配置 | 建议值说明 |
| table_open_cache | 如果设置太大,会造成系统不稳定或者数据库连接失败,建议512 |
| query_cache_type | 如果全部使用innodb引擎,建议为0,如果使用MyISAM引擎,建议为1,如果写入过于频繁,建议为2 |
| query_cache_size | 根据实际命中率进行调整,不需要太大,建议256MB |
| binlog_cache_size | 一般环境2MB~4MB是一个合适的选择,事务较大且写入频繁的数据库环境可以适当调大,但不要超过32MB |
| key_buffer_size | 如果不使用MyISAM引擎,可以不调整。如果使用MyISAM,在内存允许的情况下,尽可能加大,参考值 512MB |
| bulk_insert_buffer_size | 如果经常性的需要使用批量插入的特殊语句(上面有说明)来插入数据,可以适当调大至32MB |
| innodb_buffer_pool_size | 如果不使用InnoDB引擎,可以不用调整;如果使用InnoDB,在内存允许的情况下,可以设置50% ~ 80%内存 |
| innodb_log_buffer_size | 默认是1MB,数据库操作频繁的系统可适当增大至4MB ~ 16MB |
| innodb_max_dirty_pages_pct | 这个值越大,数据库启动时间和关闭时间越长,可以适当调大至90 |
| max_connections | 根据实际情况取值,设置过大反而影响性能。默认值是100,建议256 - 512 |
| back_log | 默认数值是50,建议 128 - 256 |
| wait_timeout |
同时修改interactive_timeout,默认28800(8小时),建议120 ~ 300 |
可能用到的MySQL命令:
# 查看当前MySQL运行状态值
mysql> show global status like 'Thread_%';
# 查看当前MySQL配置信息
mysql> show global variables like '%binlog%';
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com