Documentation Home

22.12.9.5 文件 I/O 汇总表

Performance Schema 维护文件 I/O 汇总表,汇总有关 I/O 操作的信息。

示例文件 I/O 事件摘要信息:

Press CTRL+C to copy
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 摘要表都有以下包含聚合值的摘要列。某些列更通用,其值与更细粒度列的值之和相同。通过这种方式,可以直接使用更高级别的聚合,而不需要对较低级别的列求和的用户定义视图。

  • COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT

    这些列汇总了所有 I/O 操作。

  • COUNT_READ,,,,, SUM_TIMER_READ_ MIN_TIMER_READ_ AVG_TIMER_READ_ MAX_TIMER_READ_ SUM_NUMBER_OF_BYTES_READ

    这些列汇总了所有读取操作,包括 FGETSFGETCFREADREAD

  • COUNT_WRITE,,,,, SUM_TIMER_WRITE_ MIN_TIMER_WRITE_ AVG_TIMER_WRITE_ MAX_TIMER_WRITE_ SUM_NUMBER_OF_BYTES_WRITE

    这些列汇总了所有写入操作,包括 FPUTSFPUTCFPRINTFVFPRINTFFWRITEPWRITE

  • COUNT_MISC, SUM_TIMER_MISC, MIN_TIMER_MISC, AVG_TIMER_MISC, MAX_TIMER_MISC

    这些列汇总了所有其他 I/O 操作,包括CREATEDELETEOPENCLOSESTREAM_OPENSTREAM_CLOSESEEKTELLFLUSHSTATFSTATCHSIZERENAMESYNC。这些操作没有字节计数。

TRUNCATE TABLE允许用于文件 I/O 汇总表。它将汇总列重置为零而不是删除行。

MySQL 服务器使用多种技术通过缓存从文件中读取的信息来避免 I/O 操作,因此您可能期望导致 I/O 事件的语句可能不会。您可以通过刷新缓存或重新启动服务器以重置其状态来确保 I/O 确实发生。