MariaDB社区

标题: 监控MySQL服务器状态 [打印本页]

作者: kider    时间: 2008-10-27 17:26
标题: 监控MySQL服务器状态
作者:galaxystar

监控mysql状态,有两种方式:


1, 进入mysql服务器, 执行 show status 命令查看mysql当前运行的状态.
2, 使用 mysqlreport 工具, 更条理化地查看mysql状态, 基于 show status.

第一种方式,是mysql原生支持的.使用起来比较方便.
缺点是, 数据零散, 没有百分比和统计, 难理解, 可读性差.

第二种方式, 相对来说就好很多.本身就是个报表, 统计数据看起来比较舒服.
这里也着重讨论mysqlreport.

一篇介绍 mysqlreport 工具使用相关的中文教程.
http://www.phpv.net/html/1566.html


mysqlreport实用功能:

1, 通过 show status 格式的文件, 直接导出报表.
mysqlreport支持导入历史的 show status 数据文件来生成报表, 但前提是, 之前你已经用将 show status 打印出来的数据导出到文件里.
mysqlreport --user root --password --infile filename

2, 直接将报表输出到文件里.
mysqlreport --user root --password --outfile filename

3, 周期生成报表.
mysqlreport --user root --password --relative 60 --report-count 100 -detach --outfile reportfile
间隔60秒生成一次报表,并写入 reportfile 文件, 一共生成100次.
文件里会列出报表的执行次序和时间.

4, 指定要输出哪些内容的报表.
包括 dtq, dms, sas, qcache, tab, innodb 等.不过默认不设置, 是all.


报表内容的解释:
官方原文在这里:
http://hackmysql.com/mysqlreportguide
一篇台湾作者汉化的文章: http://forum.slime.com.tw/thread208416.html


下面是我比较关注的一些参数(使用innodb, 所以 key buffer, table locks等无关):
uptime, 服务器负载, 当然这里的统计是否跟直接敲 uptime 一样准确, 有待考证.

Questions, 关注 DMS, slow 就够了, 特别是DMS里每秒处理的sql次数, 应该在压力测试时, 把这个值压上去.
然后在线上可以对比这个值. slow 呢就是慢查询的次数.越少越好了, 不过这个可以通过 mysqlsla 工具来特别针对slow log进行监控, 调优.

Select and sort, 这里着重关注  scan 和 full join , 监控走全表扫描的sql次数, 另外配合 slow log 可以方便地调优一些较慢的sql.

Query cache , 走缓存的比率Hits,越高越好.

Threads 里的 hits , 如果命中率很低,那么每次查询都需要新建线程, 考虑加大线程缓存thread_cache_size.

Connections, 数据库连接占用情况, 这个不用说, 依据实际情况.

innodb需要关注的点详见:
http://galaxystar.javaeye.com/blog/239882


作者: my1bbs1    时间: 2016-2-1 16:33
看看




















北京华盛癫痫病医院好吗
北京癫痫病专科医院排名
北京华盛癫痫病医院
昆明军海癫痫病医院
昆明军海医院怎么样
北京华盛癫痫病医院
北京华盛癫痫病医院
云南昆明军海医院
北京华盛医院怎么样
昆明军海癫痫病医院
北京华盛癫痫病医院
昆明军海癫痫病专科医院


作者: 1301664724    时间: 2017-2-22 14:34
谢谢分享!!!




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2