MySQL 初步性能优化

 MySQL 初步性能优化,根据 MySQL 的具体的情况来调试数据库设置。

 

 

 

show global status;

可以列出mysql服务器运行各种状态值

 

 

show variables;

查询mysql服务器配置信息

 

 

show variables like '%slow%';

慢查询,通过这个可以查询一下有问题的SQL语句。

 

 

show variables like 'max_connections';

查询最大连接数。

show status like 'max_used_connections';

查询使用的最大连接数。其实连接数也并不是越大越好,在80-85%之间的使用率较好吧,不过你的网站要是数量级式的增长或者波动,那么就需要重新考虑一下配置了。

 

 

 

key_buffer_size 参数的优化:

show variables like 'key_buffer_size';
show global status like 'key_read%';

查看使用情况。

key_cache_miss_rate = key_reads / key_read_requests * 100%

key_cache_miss_rate在0.1%以下那么很好(平均每1000个请求有一个直接读硬盘),如果key_cache_miss_rate在0.01%以下,则表明key_buffer_size分配的过多,可以适当减少。

 

 

 

key_buffer_size参数的优化:

show global status like 'key_blocks';

key_blocks_unused表示未使用的缓存簇(blocks)数,key_blocks_used表示曾经用到的最大的blocks数,比如这台服务器,所有的缓存都用到了,要么增加key_buffer_size,要么就是过渡索引了,把缓存占满了。比较理想的设置:

key_blocks_used / (key_blocks_unused + key_blocks_used) * 100% ≈ 80%

 

 

 

table_cache参数的优化:

open_tables表示打开表的数量,opened_tables表示打开过的表数量,如果opened_tables数量过大,说明配置中table_cache(5.1.3之后这个值叫做table_open_cache)值可能太小,我们查询一下服务器table_cache值:

show global status like 'open%tables%';
show variables like 'table_cache';
open_tables / opened_tables * 100% >= 85%
open_tables / table_cache * 100% <= 95%

你可能感兴趣的:(优化)