前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL内置数据库performance_schema详解(五):监控文件系统层调用的表介绍

MySQL内置数据库performance_schema详解(五):监控文件系统层调用的表介绍

原创
作者头像
IT技术分享社区
发布2023-12-26 08:32:43
3170
发布2023-12-26 08:32:43
举报
文章被收录于专栏:MYSQLIT技术分享社区

一、performanceschema 简介

performance_schema 是 MySQL 数据库中的一个内置的系统数据库,最早从MySQL5.5版本产生,这个数据库主要用于收集和存储与数据库性能相关的统计信息和指标。

使用它可以帮助运维人员对数据库性能监控、调优和故障排查提供依据。

二、performanceschema 特点

  • performanceschema数据库是mysql5.5及后续的版本才会有,并且在MySQL5.7当中默认启用,可以在MySQL配置参数里面关闭,可以节约一部分性能的消耗。
  • performanceschema数据库中的表使用performanceschema存储引擎管理,主要是监控数据库运行过程中的性能数据的收集。
  • performanceschema通过监视server的事件(函数调用、操作系统等待、SQL语句执行阶段等)来实现监视server内部运行情况。
  • performanceschema中的事件与写入二进制日志中的事件、事件计划调度程序,事件记录的是server执行某些活动对某些资源的消耗、耗时、这些活动执行的次数等情况。
  • performanceschema中的事件只记录在本地server的performanceschema中,表中数据发生变化时不会被写入binlog中,也不会通过复制机制被复制到其他server中。
  • performanceschema存储引擎使用server源代码中的“检测点”来实现事件数据的收集。

收集的事件数据存储在performanceschema数据库的表中,支持select进行查询。

  • performanceschema表数据非持久化存储,而是保存在内存当中,MySQL服务重启,该数据库所有的表数据库也会被清空。

三、监控文件系统层调用的表

监控文件系统层调用的表 show tables like '%file%';

代码语言:javascript
复制
file_instances
file_summary_by_event_name
file_summary_by_instance

四、监控文件系统层调用的表介绍

4.1 file_instances

file_instances表列出了性能模式在执行文件 I/O 检测时看到的所有文件。 如果磁盘上的文件从未打开,则不会在file_instances中记录。当文件从磁盘中删除时,它也会从file_instances表中删除对应的记录。

注意:file_instances表不允许使用TRUNCATE TABLE语句

查询

代码语言:javascript
复制
SELECT * from file_instances ;

输出

代码语言:javascript
复制
FILE_NAME	EVENT_NAME	OPEN_COUNT
D:\mysql-5.7\share\english\errmsg.sys	wait/io/file/sql/ERRMSG	0
D:\mysql-5.7\share\charsets\Index.xml	wait/io/file/mysys/charset	0
D:\mysql-5.7\data\ibdata1	wait/io/file/innodb/innodb_data_file	3
D:\mysql-5.7\data\ib_logfile0	wait/io/file/innodb/innodb_log_file	2
D:\mysql-5.7\data\ib_logfile1	wait/io/file/innodb/innodb_log_file	2

字段介绍

  • FILE_NAME:磁盘全路径文件名称
  • EVENT_NAME:与文件相关联的事件名称
  • OPEN_COUNT:文件上打开句柄的计数。如果一个文件打开然后关闭,它打开了 1 次,但是 OPEN_COUNT是 0 次。要列出服务器当前打开的所有文件,请使用WHERE OPEN_COUNT > 0

4.2 file_summary_by_event_name

file_summary_by_event_name 表包含按事件名称汇总的文件事件 ,主要记录代表了每种文件事件的统计信息,包括事件发生的次数、持续时间、操作类型、字节数等。

查询

代码语言:javascript
复制
SELECT * from file_summary_by_event_name ;

输出

代码语言:javascript
复制
EVENT_NAME	COUNT_STAR	SUM_TIMER_WAIT	MIN_TIMER_WAIT	AVG_TIMER_WAIT	MAX_TIMER_WAIT	COUNT_READ	SUM_TIMER_READ	MIN_TIMER_READ	AVG_TIMER_READ	MAX_TIMER_READ	SUM_NUMBER_OF_BYTES_READ	COUNT_WRITE	SUM_TIMER_WRITE	MIN_TIMER_WRITE	AVG_TIMER_WRITE	MAX_TIMER_WRITE	SUM_NUMBER_OF_BYTES_WRITE	COUNT_MISC	SUM_TIMER_MISC	MIN_TIMER_MISC	AVG_TIMER_MISC	MAX_TIMER_MISC
wait/io/file/sql/casetest	10	2439994200	0	243999420	569223060	0	0	0	0	0	0	0	0	0	0	0	0	10	2439994200	0	243999420	569223060
wait/io/file/sql/dbopt	6	2361032100	249060	393505140	2246649300	1	62902140	62902140	62902140	62902140	61	0	0	0	0	0	0	5	2298129960	249060	459625740	2246649300

字段介绍

  • EVENT_NAME:Event name.
  • COUNT_STAR:事件计数
  • SUM_TIMER_WAIT:事件所需要之间总和。
  • MIN_TIMER_WAIT:计时的汇总事件的最小等待时间。
  • AVG_TIMER_WAIT:计时的汇总事件的平均等待时间。
  • MAX_TIMER_WAIT:计时的汇总事件的最大等待时间。
  • COUNT_READ:所有读取操作的数量,包括 FGETS、FGETC、FREAD、READ 。
  • SUM_TIMER_READ:所有定时读取的总等待时间。
  • MIN_TIMER_READ:所有定时读取的最小等待时间。
  • AVG_TIMER_READ:所有定时读取的平均等待时间。
  • MAX_TIMER_READ:所有定时读取的最大等待时间。
  • SUM_NUMBER_OF_BYTES_READ:通过读取操作读取的字节。
  • COUNT_WRITE:所有写入操作的数量,包括 FPUTS、FPUTC、FPRINTF、VFPRINTF、FWRITE、PWRITE 。
  • SUM_TIMER_WRITE:计时的所有写操作的总等待时间。
  • MIN_TIMER_WRITE:所有定时的写操作的最小等待时间。
  • AVG_TIMER_WRITE:计时的所有写操作的平均等待时间。
  • MAX_TIMER_WRITE:所有定时的写操作的最大等待时间。
  • SUM_NUMBER_OF_BYTES_WRITE: 通过写操作写入的字节数。
  • COUNT_MISC:上面未计算的所有其他操作的数量,包括 CREATE、DELETE、OPEN、CLOSE、STREAM_OPEN、STREAM_CLOSE、SEEK、TELL、FLUSH、STAT、FSTAT、CHSIZE、RENAME 和 SYNC 。
  • SUM_TIMER_MISC:所有计时的其他操作的总等待时间。
  • MIN_TIMER_MISC:所有计时的其他操作的最小等待时间。
  • AVG_TIMER_MISC:所有计时的其他操作的平均等待时间。
  • MAX_TIMER_MISC:所有计时的其他操作的最大等待时间。

4.3 file_summary_by_instance

file_summary_by_instance 表中的记录代表了每个文件实例的统计信息,包括事件发生的次数、持续时间、操作类型、字节数等。

查询

代码语言:javascript
复制
SELECT * from file_summary_by_instance ;

输出

代码语言:javascript
复制
FILE_NAME	EVENT_NAME	OBJECT_INSTANCE_BEGIN	COUNT_STAR	SUM_TIMER_WAIT	MIN_TIMER_WAIT	AVG_TIMER_WAIT	MAX_TIMER_WAIT	COUNT_READ	SUM_TIMER_READ	MIN_TIMER_READ	AVG_TIMER_READ	MAX_TIMER_READ	SUM_NUMBER_OF_BYTES_READ	COUNT_WRITE	SUM_TIMER_WRITE	MIN_TIMER_WRITE	AVG_TIMER_WRITE	MAX_TIMER_WRITE	SUM_NUMBER_OF_BYTES_WRITE	COUNT_MISC	SUM_TIMER_MISC	MIN_TIMER_MISC	AVG_TIMER_MISC	MAX_TIMER_MISC
D:\mysql-5.7\share\english\errmsg.sys	wait/io/file/sql/ERRMSG	2021156827264	5	1286475540	14383740	257294940	1157210040	3	111450360	14383740	37149840	73705380	78422	0	0	0	0	0	0	2	1175025180	17815140	587512380	1157210040
D:\mysql-5.7\share\charsets\Index.xml	wait/io/file/mysys/charset	2021156827968	3	178392480	8448720	59464020	118492920	1	51450840	51450840	51450840	51450840	18710	0	0	0	0	0	0	2	126941640	8448720	63470820	118492920
D:\mysql-5.7\data\ibdata1	wait/io/file/innodb/innodb_data_file	2021156830080	470	167170400460	11810400	355681620	3897831000	460	162059997960	90373500	352303980	3897831000	9650176	3	413583660	11810400	137861220	362910660	65536	7	4696818840	36348900	670973940	1786751820
D:\mysql-5.7\data\ib_logfile0	wait/io/file/innodb/innodb_log_file	2021156830784	18	8899848300	12209400	494435760	2157427020	7	1246485240	76209000	178069080	529882080	70144	4	2578142700	50892660	644535360	2157427020	2048	7	5075220360	12209400	725031300	1461198060

字段介绍

FILE_NAME:File name

EVENT_NAME:Event name

OBJECT_INSTANCE_BEGIN:内存中的地址。与 FILE_NAME 和 EVENT_NAME 一起唯一标识一行。

COUNT_STAR:总结事件的数量

SUM_TIMER_WAIT:计时的汇总事件的总等待时间。

MIN_TIMER_WAIT:计时的汇总事件的最小等待时间。

AVG_TIMER_WAIT:计时的汇总事件的平均等待时间。

MAX_TIMER_WAIT:计时的汇总事件的最大等待时间。

COUNT_READ:所有读取操作的数量,包括 FGETS、FGETC、FREAD 和 READ 。

SUM_TIMER_READ:所有定时读取操作的总等待时间。

MIN_TIMER_READ:所有定时读取操作的最小等待时间。

AVG_TIMER_READ:所有定时读取操作的平均等待时间。

MAX_TIMER_READ:所有定时读取操作的最大等待时间。

SUM_NUMBER_OF_BYTES_READ:通过读取操作读取的字节。

COUNT_WRITE:所有写入操作的数量,包括 FPUTS、FPUTC、FPRINTF、VFPRINTF、FWRITE 和 PWRITE 。

SUM_TIMER_WRITE:计时的所有写操作的总等待时间。

MIN_TIMER_WRITE:所有定时的写操作的最小等待时间。

AVG_TIMER_WRITE:计时的所有写操作的平均等待时间。

MAX_TIMER_WRITE:所有定时的写操作的最大等待时间。

SUM_NUMBER_OF_BYTES_WRITE:通过写操作写入的字节数。

COUNT_MISC:上面未计算的所有其他操作的数量,包括 CREATE、DELETE、OPEN、CLOSE、STREAM_OPEN、STREAM_CLOSE、SEEK、TELL、FLUSH、STAT、FSTAT、CHSIZE、RENAME 和 SYNC 。

SUM_TIMER_MISC:所有计时的杂项操作的总等待时间。

MIN_TIMER_MISC:所有计时的杂项操作的最小等待时间。

AVG_TIMER_MISC:所有计时的杂项操作的平均等待时间。

MAX_TIMER_MISC:所有计时的杂项操作的最大等待时间。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、performanceschema 简介
  • 二、performanceschema 特点
  • 三、监控文件系统层调用的表
  • 四、监控文件系统层调用的表介绍
    • 4.1 file_instances
      • 4.2 file_summary_by_event_name
        • 4.3 file_summary_by_instance
        相关产品与服务
        云数据库 MySQL
        腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档