MySQL数据库监控指标有哪些?PIGOSS BSM 来详解

MySQL 是现而今最流行的开源关系型数据库服务器。因为它具有灵活性和可扩展性、高安全性、易用性以及无缝处理大型数据集的能力。

MySQL关键性能指标

连接情况

缓冲池使用情况

每秒查询数

每秒事务数

连接情况

监控客户端连接情况相当重要,因为一旦可用连接耗尽,新的客户端连接就会遭到拒绝。

名称描述SQL查询语句
Threads_createdMySQL已创建的总连接数show global status like "Threads_created";
Threads_connectedMySQL已连接的连接数show global status like "Threads_connected";
Threads_cachedMySQL当前缓存的连接数show global status like "Threads_cached";
Threads_runningMySQL当前活跃的连接数show global status like "Threads_running";

缓冲池使用情况

通常情况下,Innodb_buffer_pool_reads的值越小越好,因为它表示从磁盘中读取数据页到缓冲池中的次数越少,缓冲池的命中率越高,查询性能和系统响应时间也会更好。如果Innodb_buffer_pool_reads的值较大,则可能表示缓冲池的大小不足或者热数据没有被缓存到缓冲池中,需要增加缓冲池的大小或者优化MySQL的查询语句,以提高缓存命中率和减少磁盘I/O的次数。

缓冲池利用率=(Innodb_buffer_pool_pages_total - Innodb_buffer_pool_pages_free) /  Innodb_buffer_pool_pages_total

名称描述SQL查询语句
Innodb_buffer_pool_pages_total缓冲池的页总数目。单位是page。show global status like "Innodb_buffer_pool_pages_total";
Innodb_buffer_pool_pages_free剩余的页数目。单位是page。show global status like "Innodb_buffer_pool_pages_free";
Innodb_buffer_pool_reads从磁盘读取数据页到缓冲池的次数show global status like "Innodb_buffer_pool_reads";
Innodb_buffer_pool_read_requests

从缓冲池中读取满足数据请求的次数

show global status like "Innodb_buffer_pool_read_requests";

QPS

Query Per Second,每秒请求查询次数,即数据库每秒执行的SQL数量。

QPS作用:表达和衡量当前系统的负载。

Questions:MySQL从上一次启动到当前客户端发送给MySQL的查询数量,不包括存储过程内部的查询。它不统计COM_PING,COM_STATISTICS,COM_STMT_PREPARE,COM_STMT_CLOSE,COM_STMT_RESET数量,但它会把show命令计算到指标当中。

Queries:MySQL从上一次启动到当前客户端发送给MySQL的查询数量,包括存储过程内部的查询,它不统计COM_PING和COM_STATISTICS两个命令。

Com_select:MySQL从上一次启动到当前所执行的查询语句总数量。

由上可见,在数据库中执行show命令会使questions值加1,而com_select则不记录,而且对于数据库的监控,经常会用到show命令,所以在用questions方式计算时,数据其实是被污染的。
而且questions的值在设置环境变量的时候,也是一直在增长的,而com_select的值在此过程中,并不增长。所以在使用question方式进行计算时,人为拉高了qps的结果,相对来说,使用com_select此种方式来计算qps,相对比较帖近真实情况一些。

Questions方式计算QPS

questions = show global status like "questions";

uptimes = show global status like "uptime";

公式1:QPS = questions/uptimes

公式2:QPS = (new_questions - old_questions)/seconds (单位时间,单位:秒)

Com_select方式计算QPS

com_select = show global status like "Com_select";

QPS = (new_com_select - old_com_select)/seconds(单位时间,单位:秒)

TPS

Transcantion Per Second,每秒事务数,即数据库每秒执行的事务数。

基于com_commit、com_rollback计算TPS

Com_commit:提交次数,MySQL从上一次启动到当前所执行的提交语句总数量,不会记录隐式提交的事务

Com_rollback:回滚次数,MySQL从上一次启动到当前所执行的回退语句总数量

commit = show global status like "Com_commit";

rollback = show global status like "Com_rollback";

公式1:TPS=(com_commit + com_rollback)/uptime

公式2:TPS= (new_commit - old_commit + new_rollback - old_rollback)/seconds(单位时间,单位:秒)

基于com_insert、com_delete、com_update计算TPS

Com_update:MySQL从上一次启动到当前所执行的更新语句总数量

Com_delete:MySQL从上一次启动到当前所执行的删除语句总数量

Com_insert:MySQL从上一次启动到当前所执行的插入语句总数量

指定间隔时间内取值两次,然后新指标减去老指标后三个指标相加再除以间隔时间得出间隔时间内每秒平均TPS。

作为任何数据库管理策略不可或缺的一部分,MySQL监控用于在检测到性能漏洞时立即提醒管理员,并生成报告以分析此类挫折背后的原因。具有复杂IT结构的组织倾向于依赖MySQL监控工具,如PIGOSS BSM运维监控工具,这些工具非常专注于帮助用户从性能角度了解其数据库系统的运行方式,并深入到各个组件以实现异常检测和故障管理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQLMTOP是一个由Python+PHP开发的开源MySQL企业监控系统。系统由Python实现多进程数据采集和告警,PHP实现WEB展示和管理。MySQL服务器无需安装任何Agent,只需在监控WEB界面配置相关数据库信息,启动监控进程后,即可对上百台MySQL数据库的状态、连接数、QTS、TPS、数据库流量、复制、性能慢查询等进行时时监控。并能在数据库偏离设定的正常运行阀值(如连接异常,复制异常,复制延迟) 时发送告警邮件通知到DBA进行处理。并对历史数据归档,通过图表展示出数据库近期状态,以便DBA和开发人员能对遇到的问题进行分析和诊断。 MySQL MTOP主要功能特性如下: 1、实时MySQL可用性监视 数据库可用性监视和衡量让开发者和DBA们了解它们是否符合所承诺的服务水平。 2、实时MySQL状态监视和警报 MySQL MTOP持续监视MySQL的基本状态和性能信息,包括数据库连接状态,启动时间,数据库版本,总连接数,活动进程,QPS,TPS, 进出MySQL数据库的流量信息。在数据库状态异常或偏离正常基准水平时发出报警邮件通知。 3、实时MySQL复制监视 MySQL MTOP自动发现您的MySQL复制拓扑结构,自动监视数据库的延时和binlog信息,让您可以了解所有MySQL主服务器和从服务器的性能、可用性和运行状况。并在问题(如从服务器延迟)导致停机前向管理员提供改正建议。 4、远程监视云中的MySQL 适合于云和虚拟机的设计,使您能远程监视您的MySQL服务器不需要任何远程代理器。 5、直观管理所有MySQL服务器 MySQL MTOP提供一个基于Web的界面,可令您全面深入地了解数据库性能、可用性、关键活动等;直观地查看一台服务器、自定义的应用组或所有服务器。一组丰富的实时图形和历史图形将帮助您深入了解详细的服务器统计信息。 6、可视化MySQL慢查询分析 监视实时查询性能,查看执行统计信息,筛选和定位导致性能下降的SQL代码。结合使用Information Schema可直接从MySQL服务器收集数据,无需额外的软件或配置。 7、性能监视 监视影响MySQL性能的主要指标。如查询缓存命中率,Key_buffer_read_hits,Key_buffer_write_hits,Thread_cache_hits,Key_blocks_used_rate,Created_tmp_disk_tables_rate等信息,根据相关性能指标可以对服务器核心参数进行调整优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值