其实不应该叫性能优化吧,因为咱们也不是专业的性能优化,只能根据mysql的一些具体的情况来调试咱们的数据库,
show global status;
可以列出mysql服务器运行各种状态值
show variables;
查询mysql服务器配置信息
show variables like '%slow%';
慢查询,通过这个可以查询一下有问题的SQL语句。
show variables like 'max_connections';
查询最大连接数。
show variables 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_blocks_*参数:
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%
=============================================
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%
其实还有很多,我也在总结,有待日后更新吧,想对与我们小站长来说,
就够用了
4452

被折叠的 条评论
为什么被折叠?



