MySQL监控项目指标是什么意思
发布时间:2021-12-30 14:26:52 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍了MySQL监控项目指标是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 一.MYSQL.QPS 定义:QPS 实际上是指 MySQL Server过去10秒平均每秒执行的 Query总量(
这篇文章主要介绍了MySQL监控项目指标是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 一.MYSQL.QPS 定义:QPS 实际上是指 MySQL Server过去10秒平均每秒执行的 Query总量(包括show .select,set names,set global 等等); 计算公式:QPS=questions(当前值)-questions(10秒前的值)/10 是否保留:是 报警阀值:视各个业务情况(主要是query的复杂度)及服务器配置设置.大部分设置为10000. 报警类型:大于10000 严重.大于12000 灾难 二.MYSQL.TPS 定义:TPS指每秒向mysql sever提交的修改(包含update.insert.delete.replace); 老的计算方式: T1=Handler_commit+Handler_rollback (均为当前值) T2= Handler _commit+ Handler _rollback (均为10s之前值) TPS=T1-T2/10 新的计算方式: T1= Com_insert+ Com_replace+Com_delete+Com_update (均为当前值) T2= Com_insert+ Com_replace+Com_delete+Com_update (均为10s之前值) TPS=T1-T2/10 是否保留:是 报警阀值:视各个业务情况及服务器配置设置.大部分设置为4000. 报警类型:大于4000严重.大于6000 灾难 三.MYSQL.READS 定义:READS指每秒向msyql sever提交的读请求次数(仅指select); 计算公式: R1=com_select+ qcache_hits (均为当前值) R2=com_select+ qcache_hits (均为10秒前的值) READS=R1-R2/10 是否保留:是 报警阀值: 四.MYSQL.WRITES 定义:WRITERS 指每秒向mysql server提交的写请求次数: 计算公式: W1=com_insert+com_delete+com_update (均为当前值) W2=com_insert+com_delete+com_update (均为10s之前的值) WRITES=W1-W2/10 是否保留:不保留 去除原因:这个监控选项和tps重复. 五.MYSQL.RWRATIO 定义:RWRATIO指自mysql server启动以来的读写比例.注意这里不是以10s前后来衡量的; 计算公式: R= com_select+ qcache_hits (均为当前值) W= com_insert+ com_delete+ com_update+ com_replace (均为当前值) RWRATIO=R/W (得出值保留小数点前的值) 是否保留:不保留 去除原因:这个监控选项可以间接通过mysql.reads和mysql.tps计算出来.无需另外设置监控项。 六.MYSQL.KEY_BUFFER_READ_HITS 定义:KEY_BUFFER_READ_HITS 指myisam引擎向key buffer读命中率的情况.这个buffer用来存储myisam的索引key; 计算公式: KEY_BUFFER_READ_HITS=(1-( key_reads/ key_read_requests))*100% (均为当前值) (得出值保留小数点前的值) 是否保留:不建议保留 去除原因:现在只有sso和酒仙桥cms是myisam引擎.后续项目全部采用innodb.且这两个项目会在合适时机会全部转换为innodb。且目前这个2个项目数据压力稳定.或者暂时只监控这2个业务.更换引擎后在删除此监控项。 七.MYSQL.KEY_BUFFER_WRITE_HITS 定义:KEY_BUFFER_WRITE_HIT 指myisam引擎向key buffer写入命中率的情况; 计算公式: KEY_BUFFER_WRITE_HIT =(1-(key_writes/key_write_requests))*100 (均为当前值) (得出值保留小数点前的值). 是否保留:不建议保留 去除原因: 这个监控项只能体现myisam的命中率.myisam在未来项目中将会被淘汰.另外也没有必要专门监控mysiam的write命中情况.关注key buffer的总体命中情况.更有意义。 八.MYSQL.QUERY_CACHE_HITS 定义:QUERY_CACHE_HITS指查询缓存的命中率情况.值越高代表query cache作用越大.从而降低引擎压力.在mysql server层返回用户结果; 计算公式: QUERY_CACHE_HITS =qcache_hits/( qcache_hits+ qcache_inserts) *100% (均为的当前值) (得出值保留小数点前的值). 是否保留:不建议保留 去除原因: 线上关键业务的修改量都比较大.而且操作query cache是一个global lock.导致 经常发生sql 停留在Waiting for query cache lock和失效query cache的状态。另外.一个业务如果超过95%的sql是select.才建议打开query cache。 九.MYSQL.INNODB_BUFFER_READ_HITS 定义:INNODB_BUFFER_READ_HITS.极为重要的一个状态值.反应innodb引擎所需数据在内存中的命中的情况。 计算公式: INNODB_BUFFER_READ_HITS=(1-(innodb_buffer_pool_reads/innodb_buffer_pool_read_requests))*100% (均为当前值)(得出值保留小数点前的值). 是否保留:保留 报警阀值:小于95% 报警类型:小于95% 警告 十.MYSQL.THREAD_CACHE_HITS 定义:THREAD_CACHE_HITS=( 1-( threads_created/ connections))*100% (均为当前值) (得出值保留小数点前的值). 是否保留:保留 报警阀值:小于90% 报警类型:小于90% 警告 十一.MYSQL.SLOW_QUERIES_PER_SECOND 定义:SLOW_QUERIES_PER_SECOND 指每过去10秒平均每秒产生的slow log的总量; 计算公式: SLOW_QUERIES_PER_SECOND = Slow_queries(当前值)- Slow_queries(10秒之前的值)/10 是否保留:保留 报警阀值: 报警类型: 十二.MYSQL.TEMP_TABLES_TO_DISK_RATIO 定义:TEMP_TABLES_TO_DISK_RATIO指在硬盘上创建临时表的几率,越小越好.代表临时表都创建在内存中。 计算公式: TEMP_TABLES_TO_DISK_RATIO=(created_tmp_disk_tables/ created_tmp_tables)*100% (均为当前值)(得出值保留小数点前的值). 是否保留:不建议保留 去除原因:了解sql性能是否存在问题.不应该仅关注这个比率.一条性能很差的sql产生磁盘临时表对性能的影响可能比100条产生内存临时表的sql大很多。应该积极关注慢查询中那些执行时间非常长sql。 十三.MYSQL.TMP_DISK_TABLES_PER_SECOND 定义:TMP_DISK_TABLES_PER_SECOND 指过去10秒内每秒创建磁盘临时表的数量; 计算公式: TMP_DISK_TABLES_PER_SECOND=created_tmp_disk_tables(当前值)-created_tmp_disk_tables(10秒之前的值)/10 是否保留:建议保留 报警阀值: 报警类型: 十四.MYSQL.SELECT_FULL_JOIN 定义:SELECT_FULL_JOIN 指每秒执行full join的总量.这个参数一般发生在join过程中没有使用索引的情况; 计算公式: SELECT_FULL_JOIN= Select_full_join( 当前值)- Select_full_join(10秒之前的值)/10 是否保留:不建议保留 去除原因:并不是没有利用索引的join性能就很差.对于不合理的sql.如果带来性能影响.可以打开慢查询根据进行调优.full join可能只是其中一个原因。 一些小表的full join对性能冲击很小。 十五.MYSQL.SELECT_FULL_JOIN_IN_ALL_SELECT 定义:SELECT_FULL_JOIN_IN_ALL_SELECT 指过去10秒钟里面.full join占总select的比例; 计算公式: S1= select_full_join(当前值)- select_full_join(10秒之前的值) S2= com_select(当前值)- com_select(10秒之前的值) SELECT_FULL_JOIN_IN_ALL_SELECT=s1/s2*100%(得出值保留小数点前的值). 是否保留:不建议保留 去除原因:理由同上 十六.MYSQL.CONNECTIONS 定义:CONNECTIONS指自mysql server启动以来一共产生的连接数.这个值不能反映当前连接数.建议用Threads_connected 来衡量; 新的计算方式:CONNECTIONS= Threads_connected (当前值) 是否保留:保留 报警阀值:800 报警类型:大于800 严重.大于1500 灾难 十七.MYSQL.CONNECTION_TIME 定义:从mysql server所在服务器上发送一个简单的查询所需要的时间。 是否保留:不建议保留 去除原因:tcp_average比此参数更具参考价值.因为这个time是朝服务器本身发送请求.而tcp average关注的是应用ip向db server统计出来的时间。 十八.MYSQL.INNODB_ROW_LOCK_CURRENT_WAITS (新增) 定义:INNODB_ROW_LOCK_CURRENT_WAITS.因为公司大部分引擎都是innodb.所以有必要监控innodb行锁的等待情况.状态值反应了过去10秒有几个sql处于等待row lock的状态。 计算公式:INNODB_ROW_LOCK_CURRENT_WAITS= Innodb_row_lock_current_waits(当前值) 是否保留:保留 报警阀值:无 报警类型:无 十九.MYSQL.PROCESS_OF_MYSQLD 定义:process_of_mysqld用来监控mysqld的进程数.如果返回0.表示mysqld进程挂掉。 是否保留:保留 报警阀值:为0则报警 报警类型:灾难 二十.MYSQL.HA_STATUS 定义:ha_status用来监控MHA进程是否存在.如果返回0.表示由于MHA的切换导致MHA自动退出.或者MHA服务没有启动。 是否保留:保留 报警阀值:为0则报警 报警类型:严重 二十一.MYSQL.SLAVE_STATUS 定义:mysql.slave_status用来监控slave的io thread和sql thread.如果任意一个线程的状态为no.则返回0.否则返回1。 是否保留:保留 报警阀值:为0则报警 报警类型: 严重 二十二: MYSQL.TCP_COUNT 定义:利用percona的tcprstat从底层探测平均每秒发送到mysql server的请求数.而不是在mysql server的内部进行统计。 是否保留:不建议保留 去除原因:这个监控的结果和qps的数目一致.重复监控 二十三:MYSQL.TCP_AVG 定义:每秒内发送到mysql server所有请求的平均响应时间.此值大.表明mysql server异常.对请求做出响应的时间过长。单位为微妙。 是否保留:保留 报警阀值:无 报警类型:无 二十四:MYSQL.TCP_MAX 定义:过去一秒内.发送到mysql server所有请求中响应时间最长的请求所花费的时间。单位为微妙。 是否保留:保留 报警阀值:无 报警类型:无 二十一.MYSQL.SLAVE_DELAYS 定义:mysql.slave_delay用来监控slave的sql thread同步master是否有延迟.如果有.返回延迟的秒数.如果没有延迟.返回空 是否保留:保留 报警阀值:1200 报警类型:大于1200 严重.大于3600 灾难 感谢你能够认真阅读完这篇文章,希望小编分享的“MySQL监控项目指标是什么意思”这篇文章对大家有帮助。 (编辑:大连站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐