Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


29.12.20.7 文件I/O总结表

性能模式维护文件I/O总结表,这些表格汇总了有关I/O操作的信息。

示例文件I/O事件总结信息:

mysql> SELECT * FROM performance_schema.file_summary_by_event_name\G
...
*************************** 2. row ***************************
               EVENT_NAME: wait/io/file/sql/binlog
               COUNT_STAR: 31
           SUM_TIMER_WAIT: 8243784888
           MIN_TIMER_WAIT: 0
           AVG_TIMER_WAIT: 265928484
           MAX_TIMER_WAIT: 6490658832
...
mysql> SELECT * FROM performance_schema.file_summary_by_instance\G
...
*************************** 2. row ***************************
                FILE_NAME: /var/mysql/share/english/errmsg.sys
               EVENT_NAME: wait/io/file/sql/ERRMSG
               EVENT_NAME: wait/io/file/sql/ERRMSG
    OBJECT_INSTANCE_BEGIN: 4686193384
               COUNT_STAR: 5
           SUM_TIMER_WAIT: 13990154448
           MIN_TIMER_WAIT: 26349624
           AVG_TIMER_WAIT: 2798030607
           MAX_TIMER_WAIT: 8150662536
...

每个文件I/O总结表都有一个或多个分组列,用于指示如何对事件进行聚合。事件名称引用在setup_instruments表中I/O事件工具的名称:

每个文件I/O总结表都有以下总结列,包含聚合值。一些列更为通用,其值与更细粒度列值之和相同。在这种方式下,可以直接获得较高级别的聚合,而无需用户定义的视图来求和低级别列。

  • COUNT_STARSUM_TIMER_WAITMIN_TIMER_WAITAVG_TIMER_WAITMAX_TIMER_WAIT

    这些列聚合所有I/O操作。

  • COUNT_READSUM_TIMER_READMIN_TIMER_READAVG_TIMER_READMAX_TIMER_READSUM_NUMBER_OF_BYTES_READ

    这些列聚合所有读操作,包括FGETSFGETCFREADREAD

  • COUNT_WRITESUM_TIMER_WRITEMIN_TIMER_WRITEAVG_TIMER_WRITEMAX_TIMER_WRITESUM_NUMBER_OF_BYTES_WRITE

    这些列聚合所有写操作,包括FPUTSFPUTCFPRINTFVFPRINTFFWRITEPWRITE

  • COUNT_MISCSUM_TIMER_MISCMIN_TIMER_MISCAVG_TIMER_MISCMAX_TIMER_MISC

    这些列聚合所有其他I/O操作,包括CREATEDELETEOPENCLOSESTREAM_OPENSTREAM_CLOSESEEKTELLFLUSHSTATFSTATCHSIZERENAMESYNC。对于这些操作,没有字节数统计。

文件I/O总结表有以下索引:

TRUNCATE TABLE允许对文件I/O总结表进行。它将总结列重置为零,而不是删除行。

MySQL服务器使用多种技术来避免I/O操作,通过缓存文件中读取的信息,因此可能会有语句,你期望它们会导致I/O事件,但实际上并未发生。你可能需要通过刷新缓存或重启服务器以重置其状态来确保I/O发生。