死磕数据库系列(三十五):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 命令实现获取,从 connectsbuffercachelockSQL、statementDatabase throughputsserverconfig 7 大方面全面获取监控数据。更多关于MySQL学习的文章,请参阅:死磕数据库系列之 MySQL ,本系列持续更新中。

连接数(Connects)

大使用连接数:

show status like ‘Max_used_connections’