• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 文件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表中事件工具的名称:

    • file_summary_by_event_nameEVENT_NAME专栏。每行总结了给定事件名称的事件。
    • file_summary_by_instanceFILE_NAMEEVENT_NAMEOBJECT_INSTANCE_BEGIN列。每行总结了给定文件和事件名称的事件。

    每个文件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

      这些列聚集所有的读操作,其中包括FGETSFGETCFREAD,和READ

    • COUNT_WRITESUM_TIMER_WRITEMIN_TIMER_WRITEAVG_TIMER_WRITEMAX_TIMER_WRITESUM_NUMBER_OF_BYTES_WRITE

      这些列聚集所有的写操作,其中包括FPUTSFPUTCFPRINTFVFPRINTFFWRITE,和PWRITE

    • COUNT_MISCSUM_TIMER_MISCMIN_TIMER_MISCAVG_TIMER_MISCMAX_TIMER_MISC

      这些列聚集所有其他I / O操作,包括CREATEDELETEOPENCLOSESTREAM_OPENSTREAM_CLOSESEEKTELLFLUSHSTATFSTATCHSIZERENAME,和SYNC。这些操作没有字节数。

    文件I / O摘要表具有以下索引:

    • file_summary_by_event_name

      • EVENT_NAME)上的主键
    • file_summary_by_instance

      • OBJECT_INSTANCE_BEGIN)上的主键
      • 在(FILE_NAME)上的索引
      • 在(EVENT_NAME)上的索引

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

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