龙空技术网

MySQL如何监控性能

cloud曼 149

前言:

此时朋友们对“mysql查询监控”都比较关切,咱们都想要知道一些“mysql查询监控”的相关资讯。那么小编在网摘上网罗了一些有关“mysql查询监控””的相关知识,希望小伙伴们能喜欢,姐妹们一起来学习一下吧!

喜欢本文章的请点赞关注加转发,更多文章可以看往期

在MySQL中,当性能出现问题,我们时如何从监控中发现呢?

一般用SHOW STATUS语句评估系统的健康状况。从两个类别中进行选择(类似于动态变量),这两个类别就是:全局和会话两类。以下举例说明:

使用SHOW [GLOBAL | SESSION] STATUS命令.

mysql> SHOW GLOBAL STATUS; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | Aborted_clients | 0 | | Aborted_connects | 0 | | Binlog_cache_disk_use | 0 | 。

查询performance Schema global_status或session_status表.

mysql> SELECT * FROM performance_schema.session_status; +----------------------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +----------------------------+----------------+ | Aborted_clients | 0 | | Aborted_connects | 1 | | Binlog_cache_disk_use | 0 |

使用带有以下选项的mysqladmin命令行程序来监视MySQL

例如想显示短状态消息,我们可以输入

# mysqladmin status

Uptime: 240236 Threads: 5 Questions: 1683400 Slow queries: 3 Opens: 3440 Flush tables: 1 Open tables: 140 Queries per second avg: 7.007

例如显示服务器状态变量及其值:

# mysqladmin extended-status

它等价于SHOW GLOBAL STATUS语句,可以使用flush-status选项清除状态值。

例如列出活动服务器线程:

# mysqladmin processlist –-verbose

相当于显示完整的PROCESSLIST

Performance Schema

我们重点说一下Performance Schema,它是MySQL用来跟踪性能指标的一组内存表。它作为PERFORMANCE_SCHEMA存储引擎实现,通过对performance_schema数据库中的表进行操作。可以帮助我们提供对数据库活动的洞察,例如:哪些查询正在运行,I/O等待统计,历史性能数据等等。但Performance Schema仅在构建期间配置支持时可用,不过在Oracle二进制发行版中总是可用的,如果可用,则默认启用。要启用或禁用它,启动服务器时将performance_schema变量设置为适当的值即可。

可以通过修改setup_%表的内容来配置Performance Schema。setup_%表内包含setup_actors:监控哪些前台线程(客户端连接),setup_objects:监控哪些数据库对象(表、存储过程、触发器、事件) ,setup_timers:用于定时事件的数据类型,setup_instruments表示哪个服务器度量性能模式的收集。setup_consumers表示存储被检测事件的地方。

performance_schema 的工具(Instruments)对应于MySQL服务器源代码,在Performance Schema中有许多工具,工具名称由由'/'字符分隔的组件序列组成。例如有:

wait/io/file/myisam/log wait/io/file/mysys/charset wait/lock/table/sql/handler wait/synch/mutex/sql/LOCK_delete wait/synch/rwlock/sql/Query_cache_query::lock stage/sql/closing tables stage/sql/Sorting result statement/com/Execute statement/sql/create_table

工具的组成部分从左到右从一般到更具体。比较好用的工具有:

idle:一个被检测的idle事件。这台工具没有子部件。

memory:一个被检测的memory事件

stage:一个被检测的stage事件

statement:一个被检测的statement事件

transaction:一个被检测的transaction事件。这台工具没有其他部件。

wait:一个被检测的wait事件

在Performance Schema表中有很多工具和表,很难知道需要要监控哪些。所以,在MySQL中运用系统模式,以帮助dba解释性能模式,以实现典型的调优和诊断用例。包括了以下

视图:将性能模式数据总结为更容易理解的格式。

存储过程:帮助dba配置Performance Schema和生成诊断报告

存储函数:查询Performance Schema配置并以不同方式格式化输出

标签: #mysql查询监控 #mysqlsql跟踪 #mysql数据库监控指标