mysql innodb的监控(系统层,数据库层)
关于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_updated、Innodb_rows_deleted、Innodb_rows_read)
4)Page 状态(buffer pool中的总页数、free、dirty、每秒flushed的page数量)----(Innodb_buffer_pool_pages_flushedpage flush的数量>、Innodb_buffer_pool_pages_data总的量>、Innodb_buffer_pool_pages_freefree的页数量>、Innodb_buffer_pool_pages_dirty脏页数量>)
5)查询缓存Hit(query cache hit率)-----(inno_buffer_pool_read_requests逻辑读总次数>、Innodb_buffer_pool_reads物理读总次数>)
6)Data状态(内存buffer中数据每秒读、写次数,每秒读写大小M)----(Innodb_data_reads数据读总次数>、Innodb_data_writes数据写的总次数>、Innodb_data_read至此已经读的数据量>、Innodb_data_written至此已经写的数据量>)
7)Log(log_fsync每秒日志sync到磁盘的次数,log每秒写的大小M)-----(Innodb_os_log_fsyncs向日志文件写的总次数>、Innodb_os_log_written写入日志文件的字节数>)
8)线程状态(每秒创建的线程数量)------(Threads_running激活状态的线程数>、Threads_connected当前打开的连接数量>、Threads_created新建线程的数量>、Threads_cached线程的缓存值>)
9)每秒从客户端接受或者发送的数据量M---(Bytes_received、Bytes_sent)
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:- InnoDB 类型MySql恢复表结构与数据
- MySQL启动时InnoDB引擎被禁用了的解决方法
- mysql执行sql文件报错Error: Unknown storage engine‘InnoDB’的解决方法
- mysql innodb 异常修复经验分享
- Mysql更换MyISAM存储引擎为Innodb的操作记录总结
- 关于MySQL innodb_autoinc_lock_mode介绍
- MySQL优化之InnoDB优化
- MySQL存储引擎中MyISAM和InnoDB区别详解
- MySQL提示The InnoDB feature is disabled需要开启InnoDB的解决方法
- MySQL中Innodb的事务隔离级别和锁的关系的讲解教程
- 详解MySQL中InnoDB的存储文件