关于mysql 的监控,mysql提供了数据采集的命令,比如show status命令或者读取数据库informat_schema的GLOBAL_STATUS对象;也可以用一些现成的监控工具进行查询,目前用的比较多的innotop、mysqlreport、mtop、mytop,还有淘宝perl语言研发的orzdba。
就监控的指标而言,有系统层面的,数据库层面的。
1、系统层面包括系统的load、cpu、内存是否有swap、磁盘IO如何、网络。
vmstat -w 1
iostat -x -k 1
sar -n DEV 1
2、mysql数据库层
show global status where Variable_name in('xxxx')或者show global status like 'xxx%'
采集的数据一般是当前已经采集到的总数量,如果要计算每秒的数量,可以这样计算,以TPS为例
TPS=当前的Comm_commit-前面采集的Comm_Commit/时间间隔
以下是主要的监控指标:
1)Sql语句执行次数QPS------(Com_select、Com_insert、Com_update、Com_delete)
2)事务TPS----(Com_commit、Com_rollback)
3)Row的状态(每秒增加修改删除的行数)-----(Innodb_rows_inserted、Innodb_rows_update