死磕数据库系列(三十五):MySQL 数据库性能监控
前面给大家介绍了:MySQL 性能分析与相关工具的使用。今天我将详细的为大家介绍 MySQL 性能监控的相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发支持一波!!!
MySQL 性能监控指标
我们监控 MYSQL 数据库,从以下几个维度进行监控。
吞吐量
,包括数据库的接收和发送吞吐量。
innodb的指标信息
,包括了 innodb buffer pool 的各项指标信息,数据读和写的数量以及Innodb锁等待指标信息等。
线程信息
,包括缓存的线程、连接的线程、创建的线程以及激活的线程,用来衡量数据库的连接情况,我们在激活的线程中应用了异常检测算法,对于突增或突检的情况,平台会告警,提示异常。
数据库的增删改查
操作的统计信息。
慢SQL
监控,当慢 SQL 次数到达指定阈值,平台会告警,提醒用户确认具体的慢SQL,并调优。
当开启 performance_schema 库中访问后,我们可以对表、索引的IO
等待信息、等待事件
信息进行收集和监控。
数据库等待事件
的监控。
schema 的统计
信息,包括表的行数、大小、空间剩余等信息。
参考:Zabbix自带模板监控 MySQL服务,简洁、直观、强大的开源数据库监控系统:企业级数据库监控利器Lepus,MySQL/Oracle/MongoDB/Redis 一站式性能监控,让数据库监控更简单。
MySQL 朴素的监控方式
对于当前数据库的监控方式有很多,分为数据库自带
、商用
、开源
三大类,每一种都有各自的特色;而对于 mysql 数据库由于其有很高的社区活跃度,监控方式更是多种多样,不管哪种监控方式核心的就是监控数据,获取得到全面的监控数据后就是灵活的展示部分。
那我们今天就介绍一下完全采用 mysql 自有方式采集获取监控数据,在单体下达到快速、方便、损耗小。
本次文章完全使用 mysql 自带的 show 命令实现获取,从 connects
、buffercache
、lock
、SQ
L、statement
、Database throughputs
、serverconfig
7 大方面全面获取监控数据。更多关于MySQL学习的文章,请参阅:死磕数据库系列之 MySQL ,本系列持续更新中。
连接数(Connects)
大使用连接数:
show status like ‘Max_used_connections’