10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 从本手册中摘录

27.12.2.3 setup_instruments表

setup_instrumentsTable列出了可以收集事件的检测对象的类:

mysql> SELECT * FROM performance_schema。setup_instruments\G *************************** 1. row *************************** NAME: wait/synch/mutex/pfs/LOCK_pfs_share_list ENABLED: NO TIMED: NO PROPERTIES: singleton VOLATILITY: 1 DOCUMENTATION: Components can provide their own performance_schema tables. This lock protects the list of such tables definitions. ... *************************** 369. row *************************** NAME: stage/sql/executing ENABLED: NO TIMED: NO PROPERTIES: VOLATILITY: 0 DOCUMENTATION: NULL ... *************************** 687. row *************************** NAME: statement/abstract/Query ENABLED: YES TIMED: YES PROPERTIES: mutable VOLATILITY: 0 DOCUMENTATION: SQL query just received from the network. At this point, the real statement type is unknown, the type will be refined after SQL parsing. ... *************************** 696. row *************************** NAME: memory/performance_schema/metadata_locks ENABLED: YES TIMED: NULL PROPERTIES: global_statistics VOLATILITY: 1 DOCUMENTATION: Memory used for table performance_schema.metadata_locks ...

添加到源代码的每个乐器都为此提供了一行setup_instruments表,即使未执行录音代码。启用和执行仪器时,创建了仪器实例,可在此处可见xxx_instances表,如file_instances.rwlock_instances.

修改最setup_instruments行会立即影响监控。对于某些工具,修改仅在服务器启动时有效;在运行时更改它们没有任何效果。这主要影响服务器上的互斥锁、条件和rwlock,尽管可能有其他工具是这样的。

有关该角色的更多信息setup_instruments事件过滤中的表,请参见第27.4.3节“事件预筛选”

setup_instrumentsTable有以下列:

  • 名称

    仪器名称。如所讨论的,仪器名称可能具有多个部分并形成层次结构第27.6节“绩效架构仪器命名约定”。从执行仪器制作的事件有一个EVENT_NAME从工具中提取的价值名称价值。(事件没有真正的的名字,但这提供了一种将事件与工具关联起来的方法。)

  • 启用

    仪器是否已启用。价值是是的没有。被禁用的仪器不会产生任何事件。这个列可以修改,虽然设置启用对已经创造出来的工具没有任何影响。

  • 定时

    仪器是否定时。价值是是的,没有,或。这个列可以修改,虽然设置定时对已经创造出来的工具没有任何影响。

    一个定时的价值表示该仪器不支持定时。例如,内存操作不是定时的,所以它们定时列是

    环境定时对于一个支持定时的仪器来说没有效果,设置也一样定时非-对于一个不支持计时的仪器。

    如果一个已启用的仪器没有计时,则仪器代码是启用的,但计时器不是。该仪器产生的事件为了timer_start.,TIMER_END,timer_wait.定时器值。这又导致计算摘要表中的总和,最小,最大值和平均时间值时要忽略这些值。

  • 属性

    仪器性能。本专栏使用数据类型,因此每个仪器都可以设置以下列表中的多个标志:

    • global_statistics.该工具只生成全球摘要。详细级别的摘要是不可用的,比如每个线程、帐户、用户或主机。例如,大多数存储工具只生成全局摘要。

    • 可变的:仪器可以变异进入更具体的一个。此属性仅适用于语句仪器。

    • 进步该仪器能够报告进度数据。此属性仅适用于舞台乐器。

    • 单身:该仪器只有一个实例。例如,服务器中的大多数全局互斥锁都是单例的,因此相应的工具也是如此。

    • 用户:该仪器与用户工作负载直接相关(而不是系统工作负载)。一个这样的仪器是等待/ io /套筒/ sql / client_connection

  • 挥发性

    仪器波动。波动值由低到高。值对应于psi_volatility_xxx常量定义mysql / psi / psi_base.h头文件:

    #定义PSI_VOLATILITY_UNKNOWN 0 # define PSI_VOLATILITY_PERMANENT 1 #定义PSI_VOLATILITY_PROVISIONING 2 # define PSI_VOLATILITY_DDL 3 # define PSI_VOLATILITY_CACHE 4 # define PSI_VOLATILITY_SESSION 5 # define PSI_VOLATILITY_TRANSACTION 6 # define PSI_VOLATILITY_QUERY 7 # define PSI_VOLATILITY_INTRA_QUERY 8

    挥发性列纯粹是信息,为用户(和性能架构代码)提供一些关于仪器运行时行为的提示。

    具有低波动性指数(PERMANENT = 1)的仪器在服务器启动时创建一次,并且在正常的服务器操作期间永远不会被销毁或重新创建。它们只在服务器关闭时被销毁。

    例如,等待/同步/互斥/ pfs / lock_pfs_share_listMutex的易变性为1,这意味着它只创建一次。此时,插装本身可能产生的开销(即互斥锁初始化)对这个插装没有影响。运行时开销仅在锁定或解锁互斥锁时发生。

    为每个用户会话创建和销毁具有较高波动率索引(例如,会话= 5)的仪器。例如,等待/同步/互斥/ SQL / THD :: LOCK_QUERY_PLAN互斥量在每次会话连接时创建,在会话断开时销毁。

    这个互斥锁对Performance Schema开销更敏感,因为开销不仅来自锁和解锁插装,还来自互斥锁创建和销毁插装,后者执行得更频繁。

    波动性的另一个方面是是否以及何时更新启用列实际上有一些效果:

    • 一个更新启用影响随后创建的仪器对象,但对已创建的仪器没有影响。

    • 这些仪器易挥发的使用新设置setup_instruments表更早。

    例如,此语句不影响lock_query_plan.对现有会话有互斥,但对更新后创建的新会话有影响:

    更新performance_schema。setup_instruments集启用=价值WHERE NAME = 'wait/sync /mutex/sql/THD::LOCK_query_plan';

    这句话实际上一点效果也没有:

    更新performance_schema。setup_instruments集启用=价值WHERE NAME = 'wait/sync /mutex/pfs/LOCK_pfs_share_list';

    这个互斥锁是永久性的,并且在执行更新之前就已经创建了。互斥锁不会再被创建,因此启用价值setup_instruments从未使用过。要启用或禁用这个互斥锁,请使用umex_instances.表。

  • 10bet官方网站

    描述仪器目的的字符串。价值是如果没有任何描述。

setup_instruments表有这些索引:

  • 主键上(名称)

截断表是不允许的setup_instruments表格