10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

MySQL 8.0参考手册/MySQL性能模式/性能模式仪器命名约定

27.6性能模式仪器命名约定

乐器名称由一系列元素组成,以' / '字符。示例名称:

wait/io/file/myisam/log wait/io/file/mysys/charset wait/lock/table/sql/handler wait/sync /cond/mysys/COND_alarm wait/sync /cond/sql/BINLOG::update_cond wait/sync /mutex/mysys/BITMAP_mutex wait/sync /mutex/sql/LOCK_delete wait/sync /rwlock/sql/Query_cache_query::锁定阶段/sql/关闭表阶段/sql/排序结果语句/ /com/Execute语句/com/查询语句/sql/create_table语句/sql/lock_tables errors . sql/执行语句/查询语句/sql/create_table语句/sql/lock_tables

仪器名称空间具有树状结构。乐器名称的元素从左到右表示从一般到具体的递进。名称的元素数量取决于乐器的类型。

名称中给定元素的解释取决于它左边的元素。例如,myisam出现在下面两个名字里,但是myisam在第一个名称中与文件I/O有关,而在第二个名称中则与同步仪器有关:

等待/ io /文件/ myisam /日志等/同步/电导率/ myisam / MI_SORT_INFO::电导率

仪器名称由一个带有Performance Schema实现定义的结构的前缀和一个由实现仪器代码的开发人员定义的后缀组成。乐器前缀的顶层元素表示乐器的类型。对象中的哪个事件计时器performance_timers该表适用于仪器。在仪器名称的前缀部分,最上面一层表示仪器的类型。

乐器名称的后缀部分来自乐器本身的代码。后缀可以包括以下级别:

  • 主要元素的名称(服务器模块,如myisaminnodbmysys,或sql)或插件名称。

  • 代码中变量的名称XXX(一个全局变量)或CCC::(一个成员在课堂上CCC).例子:COND_thread_cacheTHR_LOCK_myisamBINLOG: LOCK_index

顶级乐器元素

  • 闲置:一个仪器化的空闲事件。这乐器没有其他的部件了。

  • 错误:一个检测错误事件。这乐器没有其他的部件了。

  • 内存:工具化的记忆事件。

  • 阶段乐器演奏的舞台活动。

  • 声明:工具化语句事件。

  • 事务:一个仪器化事务事件。这乐器没有其他的部件了。

  • 等待:一个仪器化的等待事件。

闲置仪器元素

闲置的描述中所讨论的性能模式生成的空闲事件socket_instances。状态第27.12.3.5节“socket_instances表”

仪器误差元素

错误“Instrument”表示是否收集服务器错误和警告信息。该仪器默认是启用的。的定时列的错误setup_instruments由于没有收集定时信息,该表不适用。

内存仪器元素

默认情况下,内存插装是启用的。内存插装可以在启动时启用或禁用,也可以在运行时通过更新启用列的相关文书setup_instruments表格记忆仪器有其形式的名称内存/code_area/instrument_name在哪里code_area值如sqlmyisam,instrument_name是仪器细节。

以前缀命名的仪器内存/ performance_schema /公开在性能模式中为内部缓冲区分配了多少内存。的内存/ performance_schema /仪器是内置的,总是启用的,不能在启动或运行时禁用。内置的存储仪器只显示在memory_summary_global_by_event_name表格有关更多信息,请参见第27.17节“性能架构内存分配模型”

阶段乐器元素

舞台乐器有其形式的名称阶段/code_area/stage_name,在那里code_area值如sqlmyisam,stage_name指示语句处理的阶段,例如排序结果发送数据.所显示的线程状态对应显示PROCESSLIST或者是看得见的INFORMATION_SCHEMA。PROCESSLIST表格

声明乐器元素

  • 声明抽象/ * /:用于语句操作的抽象工具。在语句分类的早期阶段,在确切的语句类型确定之前使用抽象工具,然后在类型确定之后改用更具体的语句工具。有关此过程的描述,请参见第27.12.6节“性能模式声明事件表”

  • 声明/ com:仪器化的命令操作。它们的名称对应于COM_xxx操作(见mysql_com.h头文件和sql / sql_parse.cc.例如,声明/ com/Connect而且声明/ com/Init DB仪器对应于COM_CONNECT而且COM_INIT_DB命令。

  • 声明/调度器/事件:跟踪事件调度器执行的所有事件的单一工具。当计划的事件开始执行时,该工具就会发挥作用。

  • 声明/ sp:由存储程序执行的内部指令。例如,声明/ sp / cfetch而且声明/ sp / freturn仪器使用游标获取和函数返回指令。

  • 声明/ sql:工具化的SQL语句操作。例如,声明/ sql / create_db而且声明/ sql /选择仪器用于创建数据库而且选择语句。

线程乐器元素

工具化线程显示在setup_threads表,它公开线程类名和属性。

螺纹仪器开始于线程(例如,线程/ sql / parser_service线程/ performance_schema /设置).

等待仪器元素

  • 等待/ io

    仪器化的I/O操作。

    • 等待io /文件

      一个检测文件I/O操作。对于文件,等待是等待文件操作完成的时间(例如,调用写入文件()).由于缓存,磁盘上的物理文件I/O可能不会在此调用中发生。

    • 等待/ io /套接字

      仪器化的套接字操作。套接式仪器有其形式的名称等待/ io /套筒/ sql /socket_type.服务器对它支持的每种网络协议都有一个监听套接字。与侦听TCP/IP或Unix套接字文件连接的套接字相关的仪器有一个socket_type的价值server_tcpip_socketserver_unix_socket,分别。当侦听套接字检测到连接时,服务器将连接转移到由单独线程管理的新套接字。该仪器对于新连接螺纹有一个socket_type的价值client_connection

    • 等待/ io /表

      仪器表I/O操作。这包括对持久基表或临时表的行级访问。影响行的操作有:取、插入、更新和删除。对于视图,等待与视图引用的基表相关联。

      与大多数等待不同,表I/O等待可以包括其他等待。例如,表I/O可能包括文件I/O或内存操作。因此,events_waits_current对于一个表,I/O等待通常有两行。有关更多信息,请参见第27.8节“性能模式原子和分子事件”

      某些行操作可能会导致多个表I/O等待。例如,插入可能会激活一个触发器,从而导致更新。

  • 等待/锁

    仪器化的锁操作。

    • 等待/锁定/表

      仪器表锁定操作。

    • 等待/锁定/ / sql / mdl元数据

      仪器化元数据锁定操作。

  • 等待/同步

    仪器化的同步对象。对于同步对象,TIMER_WAIT时间包括试图获取对象上的锁(如果有的话)时阻塞的时间。

    • 等待/同步/电导率

      一个线程使用条件向其他线程发出信号,表明它们正在等待的事情已经发生。如果一个线程正在等待一个条件,它可以被唤醒并继续执行。如果有几个线程正在等待,它们都可以被唤醒,并竞争它们正在等待的资源。

    • 等待/同步/互斥

      互斥对象,用于允许对资源(如可执行代码的一段)的访问,同时阻止其他线程访问该资源。

    • 等待/同步/ prlock

      优先考虑rwlock锁对象。

    • 等待/同步/ rwlock

      一个普通的读/写锁对象,用于锁定要访问的特定变量,同时防止其他线程使用该变量。多个线程可以同时获取共享读锁。排他写锁一次只能由一个线程获得。

    • 等待/同步/ sxlock

      共享排他(SX)锁是一种rwlock锁对象,该对象提供对公共资源的写访问,同时允许其他线程进行不一致的读取。sxlocks优化并发性并提高读写工作负载的可伸缩性。