大我们都要对以前自己做出的事情和选择付出代价。经常看文章说,选择比努力重要,我不置可否。如果选择比努力重要,那运动员去选择就好了,为什么要不断的去联系,去让自己的身体承受那些负荷甚至是病痛,伤痛。那有些人说,努力重要,really,如果你只有1.52米高,你要去和姚明争高低,就算努力到月球,我只能祝愿你,“”心想事成“”。
所以看到任何事情比其他事情重要的文章,我都看看就好,因为看看就好。说道MYSQL 的监控,也有两种看法,一种是做的越细致越好,另一种是只要监控到关键点即可。其实想想极端的做法都是不可取的,如果做到越细致越好,那估计你的MSYQL 别的工作都不用做了,各种性能的监控参数,以及业务监控的参数就能让你的MYSQL 因为监控而损坏大半的性能,因为监控性能而消耗大部分性能的事情,可笑吗?
翻过来,监控的项目很少,只关注在常用的一些参数,而不针对自己的使用环境做一些针对化的监控,那监控或许也只能换一个叫法,“摆设”。
下面的文字,就带大家看看这些“摆设”,让我们先从以下四个参数来展开
query throughput
query execution performance ,
connections
buffer pool usage
在MYSQL 里面常用的就是要获知 MYSQL 运行当中已经运行的 Questions ,执行的命令 insert , update , delete , select
曾经听到多个人在对MYSQL 的 querstions 和 com_select, com_insert,com_delete,com_update , 一个误解,这里的说一下,
questions != com_select+com_insert+com_update+com_delete
我上面图中,30 != 7 + 0 + 0 + 0 , 那questions 等于所有com_%的总和。
这里就有一个想法,如果你要知道所有com_%的总和,例如你还想知道
例如com_flush, com_create_db, 之类的数据,换句话你想知道是所有的在DB执行的数据,那questions 的确可以帮助你,但如果你如果通过上面那个错误的公式,去通过 questions - com_select = dml ,那是错误的,我见过很多人这么做,甚至我很早以前也是这样认为的。
原因是不求甚解,不自己做尝试,看了很多篇文字,就认为那么多人都这样说,那就是对的,其实......
所以监控上就得对 com_select com_insert com_delete, com_update 来一个详细的分析展示,而不是一个questions 就可以解决问题。
说完上面一个问题,下面的说说慢查询,好似常年不变的 PT 工具 + slow_log 是一个解决慢查询问题的经典办法。实际上,MYSQL 一致在变化,而这样的方法看慢查询,虽然不能说过时了,但至少我们有其他的方法可以去查看,慢查询,并且实时性要更强。
events_statements_summary_by_digest
我们可以通过上面的东西,来获悉曾经执行过的语句的时间信息
甚至我们可以通过某些语句的汇总,来获得某个数据库中总的执行的语句所消耗的总的时间。
所以,一项监控或技术用久了,习惯了,练耳不闻窗外事,虽然还是能完成好某些工作,但这样下去早晚会大概率的被淘汰。
同时我们也可以通过Innodb_row_lock_waits
, 来获得一些INNODB 获得行锁需要等待时间的信息,有利于我们快速发现一些问题。
其实我们在客户连接数据库也是一个重点的指标,例如当前的连接数和大的连接数之间的关系,达到多少就要报警,而不是不闻不问。另外像 Connection_errors_max_connections, aborted_connects 这两个
如果在一个短时间开始大量的增加,这是要立即报警的,具体增加的频率和数量,要看你当前的系统的指标,很可能你是一个繁忙的系统,那指标或许就要稍微提高一些,所以一些直接问题MYSQL 监控具体指标的人,我有时候不知道怎么回答你,只能用一个含糊的或已知变化不大的参数来“打发你”。
后,我们的看看 buffer_pool ,buffer pool 在innodb中是十分重要的,所以监控buffer pool 是非常重要的一件事情。
那么怎么看实际上innodb_buffer_pool 的使用率,这是一个查看你当前内存使用率好坏的一个指标。例如利用
Innodb_buffer_pool_pages_total Innodb_buffer_pool_pages_free,
来计算内存的使用率
通过innodb buffer pool wait free 来查看是不是内存紧张等等都是
有效
的方法。
监控的指标是变化的,监控的方法是变化的,业务是变化,变化无处
不在,从现在看以前或许的批判着看,同时从现在看未来,也的变化
着看。