数据库Mysql性能优化详解

2019-01-03 23:56:27王旭

除些之外,我们还可以参考下key_blocks_*参数:

mysql> show global status like 'key_blocks_u%'; +------------------------+-------------+ | Variable_name | Value | +------------------------+-------------+ | Key_blocks_unused | | | Key_blocks_used | | +------------------------+-------------+

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

Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%

笔者注:

查看簇(文件系统块,block)的大小(字节数)

Centos中有以下几种方法:

#tune2fs /dev/sda1 | grep "block size"
#dumpe2fs /dev/sda1 | grep "block size"

理论上文件系统块是扇区的倍数

mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态、进程信息、进程杀死等。本文介绍一下如何使用mysqladmin extended-status(因为没有"歧义",所以可以使用ext代替)了解MySQL的运行状态。

1. 使用-r/-i参数

使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如果想了解当前的状态,则需要进行一次差值计算,这就是mysqladmin extended-status的一个额外功能,非常实用。默认的,使用extended-status,看到也是累计值,但是,加上参数-r(--relative),就可以看到各个指标的差值,配合参数-i(--sleep)就可以指定刷新的频率,那么就有如下命令:

mysqladmin -uroot -r -i -pxxx extended-status +------------------------------------------+----------------------+ | Variable_name | Value | +------------------------------------------+----------------------+ | Aborted_clients | | | Com_select | | | Com_insert | | ...... | Threads_created | | +------------------------------------------+----------------------+

2. 配合grep使用

配合grep使用,我们就有:

mysqladmin -uroot -r -i -pxxx extended-status grep "Questions|Queries|Innodb_rows|Com_select |Com_insert |Com_update |Com_delete " | Com_delete | | | Com_delete_multi | | | Com_insert | | | Com_select | | | Com_update | | | Innodb_rows_deleted | | | Innodb_rows_inserted | | | Innodb_rows_read | | | Innodb_rows_updated | | | Queries | | | Questions | 2721 |

当然,还可以配合awk等,笔者在这里就不一一介绍了,有情趣的朋友可以参考一下其它文档。

您可能感兴趣的文章:

MySQL性能全面优化方法参考,从CPU,文件系统选择到mysql.cnf参数优化MySQL性能优化的最佳20+条经验mysql性能优化工具--tuner-primer使用介绍MySQL性能参数详解之Skip-External-Locking参数介绍MySQL性能参数详解之Max_connect_errors 使用介绍MySQL性能瓶颈排查定位实例详解Mysql性能优化方案分享Mysql性能优化案例 - 覆盖索引分享Mysql性能优化案例研究-覆盖索引和SQL_NO_CACHEmysql性能优化之索引优化MySQL性能监控软件Nagios的安装及配置教程19个MySQL性能优化要点解析详解MySQL性能优化(二)详解MySQL性能优化(一)10个MySQL性能调优的方法浅谈InnoDB隔离模式的使用对MySQL性能造成的影响使用FriendFeed来提升MySQL性能的方法my.cnf(my.ini)重要参数优化配置说明