MySql参数优化

MySql参数优化

windows系统配置文件在xxx\MySQL\MySQL Server 下 my.ini

show global status可以列出mysql服务器运行各种状态值,

show variables 查询mysql服务器配置信息语句:

慢查询

mysql> show variables like ‘slow%’;

variable_name value
log_slow_queries on
slow_launch_time 2

mysql> show global status like ‘slow%’;

variable_name value
slow_launch_threads 0
slow_queries 4148

配置中打开了记录慢查询,执行时间超过2秒的即为慢查询,系统显示有4148个慢查询,你可以分析慢查询日志,找出有问题的sql语句,慢查询时间不宜设置过长,否则意义不大,最好在5秒以内,如果你需要微秒级别的慢查询,可以考虑给mysql打补丁:http://www.percona.com/docs/wiki/release:start,记得找对应的版本。 
打开慢查询日志可能会对系统性能有一点点影响,如果你的mysql是主-从结构,可以考虑打开其中一台从服务器的慢查询日志,这样既可以监控慢查询,对系统性能影响又小。

连接数

查询数据库最大连接数 
show variables like ‘max_connections’;

查询数据库响应的最大连接数 
show global status like ‘max_used_connections’;

Max_used_connections / max_connections * 100% ≈ 85% 
最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接数上限设置的过高了。

innodb_buffer_pool_size(重要)

Innodb_buffer_pool_size: 这个参数主要缓存innodb表的索引,数据,插入数据时的缓冲。这个值越大,则磁盘IO越少,查询的速度就会越快。这个值太大了就会影响操作系统的性能。一般将该值设为物理内存的80%。

mysql> SHOW GLOBAL STATUS LIKE ‘Innodb_buffer_pool%’;

Variable_name Value
Innodb_buffer_pool_read_requests 25623124
Innodb_buffer_pool_reads 8204

一共有25623124个索引读取请求,有8204个请求在内存中没有找到直接从硬盘读取索引,计算索引未命中缓存的概率: 
cache_miss_rate = 8204/25623124 = 0.032% 
在0.1%以下都很好(每1000个请求有一个直接读硬盘),如果key_cache_miss_rate在 0.01%以下的话,Innodb_buffer_size分配的过多,可以适当减少。

innodb_buffer_pool_size 大小建议

mysql> SHOW GLOBAL STATUS LIKE ‘Innodb_buffer_pool_pages_data’;

</
Variable_name Value
Innodb_buffer_pool_pages_data 1388
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值