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

仪器名称空间具有树状结构。乐器名称的元素从左到右提供了从更一般到更具体的顺序。名称中元素的数量取决于乐器的类型。

名称中给定元素的解释取决于它左边的元素。例如,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优化并发性并提高读写工作负载的可伸缩性。