9159金沙官网

9159金沙官网MySQL Performance-Schema(壹) 配置表

四月 4th, 2019  |  金沙网址澳门官方网址

INSERTINTOsetup_actors (HOST, USER, ROLE,ENABLED,HISTORY) VALUES(
‘localhost’, ‘joe’, ‘%’, ‘YES’, ‘YES’);

MySQL Performance-Schema(一) 配置表,performanceschema

      performance-schema最早在MYSQL
伍.5中冒出,而以往伍.陆,5.7中performance-Schema又添加了越多的监督项,计算音信也更丰富,越来越有ORACLE-AWWrangler计算音信的赶脚,真乃DBA童鞋进行品质会诊分析的佛法。本文重要讲Performance-Schema中的配置表,通过布署表能大约精晓performance-schema的全貌,为继续使用和深切明白做准备。

配置表

Performance-Schema中第二有5个布局表,具体如下:

[email protected]_schema
06:03:09>show tables like ‘%setup%’;
+—————————————-+
| Tables_in_performance_schema (%setup%) |
+—————————————-+
| setup_actors |
| setup_consumers |
| setup_instruments |
| setup_objects |
| setup_timers |
+—————————————-+

1.setup_actors用于配置user维度的监察,暗中同意景况下监察和控制全部用户线程。
[email protected]_schema
05:47:27>select * from setup_actors;
+——+——+——+
| HOST | USER | ROLE |
+——+——+——+
| % | % | % |
+——+——+——+

2.setup_consumers表用于配置事件的买主类型,即收集的事件最后会写入到怎么总计表中。
[email protected]_schema
05:48:16>select * from setup_consumers;
+——————————–+———+
| NAME | ENABLED |
+——————————–+———+
| events_stages_current | NO |
| events_stages_history | NO |
| events_stages_history_long | NO |
| events_statements_current | YES |
| events_statements_history | NO |
| events_statements_history_long | NO |
| events_waits_current | NO |
| events_waits_history | NO |
| events_waits_history_long | NO |
| global_instrumentation | YES |
| thread_instrumentation | YES |
| statements_digest | YES |
+——————————–+———+
能够观察有十一个consumer,借使不想关注有个别consumer,可以将ENABLED设置为NO,比如events_statements_history_long设置为NO,
则收集事件不会写入到相应的表events_statements_history_long中。拾二个consumer不是平级的,存在一种类层次关系。具体如下表:
global_instrumentation
 |– thread_instrumentation
   |– events_waits_current
     |– events_waits_history
     |– events_waits_history_long
   |– events_stages_current
     |– events_stages_history
     |– events_stages_history_long
   |– events_statements_current
     |– events_statements_history
     |– events_statements_history_long
 |– statements_digest

多层次的consumer坚守一个为主条件,只有上壹层次的为YES,才会接二连三检查该本层为YES
or
NO。global_instrumentation是最高级别consumer,固然它设置为NO,则持有的consumer都会忽略。要是只开辟global_instrumentation,而关门大吉全数别的子consumer(设置为NO),则只收集全局维度的总结消息,比如xxx_instance表,而不会采集用户维度,语句维度的音信。第二层次的是thread_instrumentation,用户线程维度的总括消息,比如xxx_by_thread表,别的2个是statements_digest,那些用于全局总结SQL-digest的音信。第3层次是语句维度,包罗events_waits_current,events_stages_current和events_statements_current,分别用于计算wait,stages和statement消息,第四层次是历史表消息,首要归纳xxx_history和xxx_history_long。

3.setup_instruments表用于配置一条条切实的instrument,首要涵盖肆大类:idle,stage/xxx,statement/xxx,wait/xxx.
[email protected]_schema
06:25:50>select name,count(*) from setup_instruments group by
LEFT(name,5);
+———————————+———-+
| name | count(*) |
+———————————+———-+
| idle | 1 |
| stage/sql/After create | 111 |
| statement/sql/select | 170 |
| wait/synch/mutex/sql/PAGE::lock | 296 |
+———————————+———-+
idle表示socket空闲的小运,stage类表示语句的各样执行等级的总括,statement类总结语句维度的音讯,wait类总结各样等待事件,比如IO,mutux,spin_lock,condition等。从上表总括结果来看,能够主导看到每类的instrument数目,stage包涵113个,statement包罗一66个,wait包罗2玖四个。

4.setup_objects表用于配置监察和控制指标,暗许情状下有所mysql,performance_schema和information_schema中的表都不监察和控制。而任何DB的持有表都监察和控制。

[email protected]_schema
06:25:55>select * from setup_objects;
+————-+——————–+————-+———+——-+
| OBJECT_TYPE | OBJECT_SCHEMA | OBJECT_NAME | ENABLED | TIMED |
+————-+——————–+————-+———+——-+
| TABLE | mysql | % | NO | NO |
| TABLE | performance_schema | % | NO | NO |
| TABLE | information_schema | % | NO | NO |
| TABLE | % | % | YES | YES |
+————-+——————–+————-+———+——-+

5.setup_timers表用于配置每系列型指令的总括时间单位。MICROSECOND表示计算单位是神秘,CYCLE表示计算单位是时钟周期,时间衡量与CPU的主频有关,NANOSECOND表示总结单位是阿秒,关于每连串型的具体意思,能够参考performance_timer那几个表。由于wait类包含的都以等待事件,单个SQL调用次数相比较多,因而挑选代价最小的心路单位cycle。但无论选用哪一类度量单位,最后计算表国民党的中央委员会执委调查总结局计的时刻都会装换来微秒。

[email protected]_schema
06:29:50>select \
from setup_timers;
+———–+————-+
| NAME | TIMER_NAME |
+———–+————-+
| idle | MICROSECOND |
| wait | CYCLE |
| stage | NANOSECOND |
| statement | NANOSECOND |
+———–+————-+*

安排情势

**     
暗许情形下,setup_instruments表只开辟了statement和wait/io部分的指令,setup_consumer表中许多consumer也从不打开。为了打开需求的选项,能够透过update语句直接改动配置表,并且修改后方可登时生效,但那种方法必需得运维服务器后才得以修改,并且不可能持久化,重启后,又得重复设置二遍。从五.陆.肆起头提供了my.cnf的陈设格局,格式如下:

1.设置采集的instrument
performance_schema_instrument=’instrument_name=value’
(1)打开wait类型的命令
performance_schema_instrument=’wait/%’
(二)打开装有指令
performance_schema_instrument=’%=on’

2.设置consumer
performance_schema_consumer_xxx=value
(1)打开 events_waits_history consumer

performance_schema_consumer_events_waits_current=on

performance_schema_consumer_events_waits_history=on

那里要注意consumer的层次关系, events_waits_history处于第陆层,由此设置它时,要力保events_statements_current,thread_instrumentation和global_instrumentation的ENABLED状态都为YES,才能见效。由于暗中同意thread_instrumentation和global_instrumentation都是YES,由此只需求出示设置events_waits_current和events_waits_current即可。

三.设置总括表大小
所有的performance_schema表均采纳PERubiconFOEscortMANCE_SCHEMA存款和储蓄引擎,表中的享有数据只设有内部存款和储蓄器,表的大小在系统起首化时早已
固化好,由此占有的内部存款和储蓄器是毫无疑问的。能够透过配备来定制具体每种表的记录数。
performance_schema_events_waits_history_size=20
performance_schema_events_waits_history_long_size=15000

 

Performance-Schema(一)
配置表,performanceschema performance-schema最早在MYSQL
伍.5中现身,而现行反革命五.陆,5.七中performance-Schema又添加了越来越多的监察和控制项,统…

MySQL Performance-Schema(一) 配置表

performance-schema最早在MYSQL
伍.5中冒出,最近日5.六,伍.七中performance-Schema又添加了更加多的督察项,总计消息也更拉长,越来越有ORACLE-AWR计算消息的赶脚,真乃DBA童鞋进行质量会诊分析的佛法。本文首要讲Performance-Schema中的配置表,通过安排表能大概明白performance-schema的全貌,为继续使用和深深驾驭做准备。

 

配置表

 

Performance-Schema中一言九鼎有伍个布局表,具体如下:

 

[email protected]_schema
06:03:09>show tables like ‘%setup%’;

+—————————————-+

| Tables_in_performance_schema (%setup%) |

+—————————————-+

| setup_actors |

| setup_consumers |

| setup_instruments |

| setup_objects |

| setup_timers |

+—————————————-+

 

1.setup_actors用于配置user维度的监察,默许情况下监察和控制全部用户线程。

[email protected]_schema
05:47:27>select * from setup_actors;

+——+——+——+

| HOST | USER | ROLE |

+——+——+——+

| % | % | % |

+——+——+——+

 

2.setup_consumers表用于配置事件的顾客类型,即收集的事件最终会写入到哪些计算表中。

[email protected]_schema
05:48:16>select * from setup_consumers;

+——————————–+———+

| NAME | ENABLED |

+——————————–+———+

| events_stages_current | NO |

| events_stages_history | NO |

| events_stages_history_long | NO |

| events_statements_current | YES |

| events_statements_history | NO |

| events_statements_history_long | NO |

| events_waits_current | NO |

| events_waits_history | NO |

| events_waits_history_long | NO |

| global_instrumentation | YES |

| thread_instrumentation | YES |

| statements_digest | YES |

+——————————–+———+

能够看来有11个consumer,假若不想关切某个consumer,能够将ENABLED设置为NO,比如events_statements_history_long设置为NO,

则收集事件不会写入到相应的表events_statements_history_long中。拾3个consumer不是平级的,存在壹体系层次关系。具体如下表:

global_instrumentation 

 |– thread_instrumentation

   |– events_waits_current

     |– events_waits_history

     |– events_waits_history_long

   |– events_stages_current

     |– events_stages_history

     |– events_stages_history_long

   |– events_statements_current

     |– events_statements_history

     |– events_statements_history_long

 |– statements_digest

 

多层次的consumer遵循叁个骨干条件,唯有上1层次的为YES,才会持续检查该本层为YES
or
NO。global_instrumentation是最高级别consumer,假若它设置为NO,则有所的consumer都会忽略。借使只开辟global_instrumentation,而倒闭全部其余子consumer(设置为NO),则只收集全局维度的总括音讯,比如xxx_instance表,而不会征集用户维度,语句维度的音讯。第二层次的是thread_instrumentation,用户线程维度的总结音信,比如xxx_by_thread表,此外3个是statements_digest,那些用于全局计算SQL-digest的消息。第三层次是语句维度,包蕴events_waits_current,events_stages_current和events_statements_current,分别用于总括wait,stages和statement新闻,第4层次是野史表新闻,首要回顾xxx_history和xxx_history_long。

 

3.setup_instruments表用于配置一条条现实的instrument,主要涵盖4大类:idle,stage/xxx,statement/xxx,wait/xxx.

[email protected]_schema
06:25:50>select name,count(*) from setup_instruments group by
LEFT(name,5);

+———————————+———-+

| name | count(*) |

+———————————+———-+

| idle | 1 |

| stage/sql/After create | 111 |

| statement/sql/select | 170 |

| wait/synch/mutex/sql/PAGE::lock | 296 |

+———————————+———-+

 

idle表示socket空闲的时光,stage类表示语句的各类执行阶段的总括,statement类总括语句维度的音信,wait类总计各类等待事件,比如IO,mutux,spin_lock,condition等。从上表总结结果来看,能够主导看到每类的instrument数目,stage包蕴111个,statement包蕴168个,wait包罗2九伍个。

 

4.setup_objects表用于配置监察和控制对象,暗中同意情状下全体mysql,performance_schema和information_schema中的表都不监察和控制。而其余DB的保有表都监控。

 

[email protected]_schema
06:25:55>select * from setup_objects;

+————-+——————–+————-+———+——-+

| OBJECT_TYPE | OBJECT_SCHEMA | OBJECT_NAME | ENABLED | TIMED |

+————-+——————–+————-+———+——-+

| TABLE | mysql | % | NO | NO |

| TABLE | performance_schema | % | NO | NO |

| TABLE | information_schema | % | NO | NO |

| TABLE | % | % | YES | YES |

+————-+——————–+————-+———+——-+

 

5.setup_timers表用于配置每类别型指令的计算时间单位。MICROSECOND表示计算单位是神秘,CYCLE表示总计单位是石英钟周期,时间衡量与CPU的主频有关,NANOSECOND表示计算单位是阿秒,关于每连串型的现实意思,能够参考performance_timer这些表。由于wait类包括的都是等待事件,单个SQL调用次数比较多,因而挑选代价最小的衡量单位cycle。但无论使用哪一种衡量单位,最后总括表中执会调查计算局计的时间都会装换成微秒。

 

[email protected]_schema
06:29:50>select * from setup_timers;

+———–+————-+

| NAME | TIMER_NAME |

+———–+————-+

| idle | MICROSECOND |

| wait | CYCLE |

| stage | NANOSECOND |

| statement | NANOSECOND |

+———–+————-+

 

布署方式

 

暗中同意情状下,setup_instruments表只开辟了statement和wait/io部分的一声令下,setup_consumer表中很多consumer也尚无打开。为了打开须要的选项,能够通过update语句间接改动配置表,并且修改后方可即时生效,但这种办法必需得运转服务器后才方可修改,并且不能持久化,重启后,又得重复设置一次。从伍.陆.④始发提供了my.cnf的安排方式,格式如下:

 

壹.设置采集的instrument

performance_schema_instrument=’instrument_name=value’

(壹)打开wait类型的吩咐

performance_schema_instrument=’wait/%’

(二)打开装有指令

performance_schema_instrument=’%=on’

 

2.设置consumer

performance_schema_consumer_xxx=value

(1)打开 events_waits_history consumer

 

performance_schema_consumer_events_waits_current=on

 

performance_schema_consumer_events_waits_history=on

 

这边要留意consumer的层次关系,
events_waits_history处于第伍层,因而设置它时,要保证events_statements_current,thread_instrumentation和global_instrumentation的ENABLED状态都为YES,才能见效。由于暗中认可thread_instrumentation和global_instrumentation都以YES,由此只要求出示设置events_waits_current和events_waits_current即可。

 

三.设置总计表大小

所有的performance_schema表均采取PE奥德赛FO本田UR-VMANCE_SCHEMA存款和储蓄引擎,表中的装有数据只设有内部存款和储蓄器,表的大大小小在系统开始化时已经

一定好,因而占有的内部存储器是一定的。可以经过安顿来定制具体各样表的记录数。

performance_schema_events_waits_history_size=20

performance_schema_events_waits_history_long_size=15000

Performance-Schema(1) 配置表
performance-schema最早在MYSQL
伍.5中出现,而近年来⑤.陆,五.七中performance-Schema又添加了越多的监督项,计算消息也更丰盛…

…..

## 钦点开启单个instruments

performance-schema-consumer-events-stages-history- longFALSE

3).
有些行操作恐怕会造成多个表I/O等待。例如,如若有INSE哈弗T的触发器,那么插入操作或许导致触发器更新操作。

  • NAME:计时器类型,对应着有个别事件种类(事件连串详见 三.三.四 节)
  • TIMER_NAME:计时器类型名称。此列能够修改,有效值参见performance_timers.TIMER_NAME列值
  • PS:对于setup_timers表,不一致意使用TRUNCATE TABLE语句

2).
wait/lock/metadata/sql/mdl:MDL锁操作相关的instruments

Comment: Performance Schema

| wait/lock/table/sql/handler |YES | YES |

二).
与大部分等候事件不相同,表I/O等待能够总结其余等待。例如,表I/O大概包罗文件I/O或内部存款和储蓄器操作。由此,表I/O等待的事件在events_waits_current表中的记录普通有两行(除了wait/io/table/sql/handler的轩然大波记录之外,或然还隐含一行wait/io/file/myisam/dfile的事件记录)。那种能够称之为表IO操作的原子事件

setup_instruments表,对抢先三分一instruments的修改会立马影响监察和控制。但对此一些instruments,修改须求在mysql
server重启才生效,运转时修改不奏效。因为这个大概会影响mutexes、conditions和rwlocks,下边我们来看一些setup_instruments表修改示例:

PROCESSLIST_COMMAND: Daemon

| MILLISECOND |1036| 1 |168|

#闭馆历史事件记录功用

setup_instruments表字段详解如下:

instruments的命名格式组成:performance_schema实现的八个前缀结构(如:wait/io/file/myisam/log中的wait+由开发职员达成的instruments代码定义的1个后缀名称组成(如:wait/io/file/myisam/log中的io/file/myisam/log)

#剥夺全体instruments的计时器:

  • 用以控制标准方式的SQL语句文本在存入performance_schema时的界定长度,该变量与max_digest_length变量相关(max_digest_length变量含义请自行查阅相关资料)
  • 全局变量,只读变量,私下认可值10二四字节,整型值,取值范围0~拾4857六,5.陆.二六和5.七.捌版本中引入

| TABLE |mysql | % |NO | NO |

9159金沙官网 1

performance-schema-consumer-events-statements-history- longFALSE

mysql>UPDATE setup_instruments SET ENABLED = IF(NAME LIKE
‘wait/io/file/%’, ‘NO’, ‘YES’);

performance-schema-instrument

setup_actors用于配置是不是为新的前台server线程(与客户端连接相关联的线程)启用监视和历史事件日志记录。暗中同意意况下,此表的最大行数为十0。能够动用系统变量performance_schema_setup_actors_size在server运转在此以前更改此表的最大布局行数

| % |% | % |YES | YES |

  • 法定文书档案中尚无找到每二个instruments具体的求证文书档案,官方文书档案中列出如下多少个原因: *
    instruments是服务端代码,所以代码或许时时变动 *
    instruments总数据有数百种,全体列出不现实 *
    instruments会因为你安装的本子分化而有所区别,每贰个版本所扶助的instruments能够因而询问setup_instruments表获取

那一个配置表中的布局项之间存在着关系关系,遵照计划影响的先后顺序,可整理为如下图(该表仅表示个人知道):

–performance_schema_events_waits_history_long_size= #

瞩目:就算大家能够透过cmake的编写翻译选项关闭掉某个performance_schema的功效模块,可是,平时大家不建议那样做,除非你格外掌握后续不恐怕选拔到那几个功用模块,不然继续想要使用被编写翻译时关闭的模块,还亟需再行编写翻译。

| 导语

Rows matched: 40 Changed: 40 Warnings: 0

–performance_schema

setup_objects表初阶内容如下所示:

Rows matched: 2 Changed: 2 Warnings: 0

PROCESSLIST_STATE: Suspending

| wait/synch/rwlock/sql/LOGGER::LOCK_logger |YES | YES |

mysql>UPDATE setup_instruments SET ENABLED = CASE WHEN NAME LIKE
‘%/mysys/%’THEN ‘YES’ELSE ‘NO’END;

在setup_objects中列出的监察和控制对象类型,在进行匹配时,performance_schema基于OBJECT_SCHEMA和OBJECT_NAME列依次以后万分,固然未有匹配的指标则不会被监视

肆).
wait/synch/sxlock:shared-exclusive(SX)锁是一种rwlock锁
object,它提供对集体财富的写访问的同时允许任何线程的不一致读取。sxlocks锁object可用以优化数据库读写场景下的并发性和可扩充性。

2rows inset ( 0. 00sec)

# 首先利用UPDATE语句把暗中同意配置行禁止使用

mysql> SELECT * FROM setup_actors;

上面将对这几个运行选项举办简单描述(这几个运行选项是用来内定consumers和instruments配置项在MySQL运转时是还是不是跟随打开的,之所以称之为运转选项,是因为那几个须求在mysqld运维时就须要经过命令行钦点只怕须求在my.cnf中内定,运行之后经过show
variables命令不能查看,因为他们不属于system variables)

setup_timers表字段含义如下:

| wait/synch/mutex/sql/LOCK_global_read_lock |YES | YES |

| events_statements_current |YES |

+————-+————-+

| EVENT |information_schema | % |NO | NO |

| NAME |ENABLED | TIMED |

  • performance_schema_consumer_statements_digest=TRUE

本篇内容到此处就象是尾声了,要是阅读了本章内容之后,感觉对performance_schema如故相比较迷糊,那么提出遵照如下步骤动入手、看一看:

| 基本概念

|events_stages_history_long | NO |

Query OK, 40 rows affected (0.00 sec)

root@ localhost: (none) 11: 43: 29> show variables like
‘%performance_schema%’;

是还是不是在MySQL
Server运营时就启用有些采集器,由于instruments配置项多达数千个,所以该配置项支持key-value情势,还援助%号举行通配等,如下:

|events_transactions_history_long | NO |

| wait/synch/mutex/sql/LOCK_manager |YES | YES |

*metadata
locks监察和控制供给开辟’wait/lock/metadata/sql/mdl’
instruments才能监督,开启这些instruments之后在表performance_schema.metadata_locks表中得以查询到MDL锁消息

能够动用cmake的编写翻译选项来自行决定你的MySQL实例是还是不是支持performance_schema的有个别等待事件连串,如下:

是否在MySQL
Server运营时就开启events_statements_summary_by_digest
表的笔录效用,运维现在也足以在setup_consumers表中利用UPDATE语句举办动态更新digest配置项

(5)setup_actors表

暗中同意配置中开启监视的靶子不含有mysql,INFOLX570MATION_SCHEMA和performance_schema数据库中的全部表(从上面的音讯中得以看来那多少个库的enabled和timed字段都为NO,注意:对于INFO福睿斯MATION_SCHEMA数据库,即便该表中有1行配置,然则无论该表中怎样设置,都不会监察和控制该库,在setup_objects表中information_schema.%的布置行仅作为二个缺省值)

除此而外statement(语句)事件之外,wait(等待)事件、state(阶段)事件、transaction(事务)事件,他们与statement事件相同都有八个参数分别开始展览仓库储存限制配置,有趣味的同班自行钻研,那里不再赘述

# setup_instruments表

PROCESSLIST_DB: NULL

| wait/synch/rwlock/sql/LOCK_grant |YES | YES |

* 查询语句top
number监控,须要开拓’statement/sql/select’
instruments,然后打开events_statements_xxx表,通过查询performance_schema.events_statements_xxx表的SQL_TEXT字段能够看看原始的SQL语句,查询TIMEENVISION_WAIT字段能够精晓放区救济总会的响应时间,LOCK_TIME字段可以清楚加锁时间(注意时间单位是微秒,须要除以一千000000000才是单位秒)

THREAD _OS_ID: 3652

| EVENT |% | % |YES | YES |

在意,那么些运营选项要立见作用的前提是,供给安装performance_schema=ON。其它,这个运维选项即便无法使用show
variables语句查看,但我们得以经过setup_instruments和setup_consumers表查询这个选取钦赐的值。

#打开events_waits_current表当前拭目以俟事件记录作用

当performance_schema开端化时,它依照当下存在的线程每种线程生成1行音讯记录在threads表中。此后,每新建1个线程在该表中就会新增一行对应线程的记录

consumers:消费者,对应的消费者表用于储存来自instruments采集的数据,对应配置表中的安排项大家得以称为消费存款和储蓄配置项,以下聊起消费者均统称为consumers

update … wherePROCESSLIST_ID!=connection_id() or PROCESSLIST_ID
isNULL;

  • OBJECT_SCHEMA =’literal’ and OBJECT_NAME =’literal’
  • OBJECT_SCHEMA =’literal’ and OBJECT_NAME =’%’
  • OBJECT_SCHEMA =’%’ and OBJECT_NAME =’%’
  • 譬如说,要匹配表对象db1.t一,performance_schema在setup_objects表中先物色“OBJECT_SCHEMA
    = db1”和“OBJECT_NAME = t一”的匹配项,然后搜索“OBJECT_SCHEMA =
    db1”和“OBJECT_NAME =%”,然后搜索“OBJECT_SCHEMA =
    %”和“OBJECT_NAME =
    %”。匹配顺序很要紧,因为分裂的匹配行中的ENABLED和TIMED列能够有差异的值,最终会选用一个最纯正的协作项

UPDATEsetup_actors SETENABLED = ‘NO’, HISTORY = ‘NO’WHEREHOST =
‘%’ANDUSER= ‘%’;

| NANOSECOND |1000000000| 1 |112|

对于仓库储存程序对象相关的轩然大波,performance_schema只须求从setup_objects表中读取配置项的ENABLED和TIMED列值。因为存款和储蓄程序对象在setup_instruments表中从未对应的铺排项

performance-schema-consumer-events-transactions-history- longFALSE

关门与开启除了当前线总指挥部是之外的兼具线程的事件采访(不包罗后台线程)

  • 对在此从前台线程(由客户端连接产生的连接,能够是用户发起的再而三,也能够是见仁见智server之间发起的连天),当用户照旧别的server与有个别server成立了多个总是之后(连接格局恐怕是socket或许TCP/IP),在threads表中就会记录一条这些线程的配置信息行,此时,threads表中该线程的配备行中的INSTRUMENTED和HISTOPRADOY列值的私下认可值是YES照旧NO,还亟需看与线程相关联的用户帐户是不是匹配setup_actors表中的配置行(查看某用户在setup_actors表中配置行的ENABLED和HISTOMuranoY列配置为YES仍然NO,threads表中与setup_actors表关联用户帐号的线程配置行中的ENABLED和HISTO哈弗Y列值以setup_actors表中的值为准)
  • 对于后台线程,不容许存在涉嫌的用户,所以threads表中的
    INSTRUMENTED和HISTOCR-VY在线程创造时的起来配置列值暗许值为YES,不必要查阅setup_actors表

setup_actors表的始发内容是相当任何用户和主机,因而对此持有前台线程,暗许情形下启用监视和历史事件采访功能,如下:

+————————————–+———+——-+

| TRIGGER |performance_schema | % |NO | NO |

3个给定instruments名称的意义,必要看instruments名称的左手命名而定,例如上面七个myisam相关称号的instruments含义各不同:

threads表对于每一个server线程生成1行李包裹括线程相关的新闻,例如:显示是还是不是启用监视,是不是启用历史事件记录功用,如下:

mysql> SELECT * FROM performance_timers;

名称中给定组件的解释取决于其左边的零件。例如,myisam彰显在以下三个名称:

# 关闭除了当前连日之外的装有前台线程的风浪采访

| EVENT |performance_schema | % |NO | NO |

root@localhost : performance_schema 05: 47: 44> update threads
setINSTRUMENTED= ‘NO’wherePROCESSLIST_ID!=connection_id();

mysql>UPDATE setup_consumers SET ENABLED =’NO’wherename like
‘%history%’;

在setup_instruments表中的instruments顶尖instruments
组件分类如下:

setup_actors表字段含义如下:

# 开启全体后台线程的风云采访

Transactions: NO

#where条件 ENABLED =’YES’即为开辟对应的记录表成效

# 插入用户joe@’hosta.example.com’对应ENABLED=YES、HISTO途锐Y=NO的安插行

  • 对threads表的造访不供给互斥体,对server品质影响一点都不大。
    而使用INFO奥德赛MATION_SCHEMA.PROCESSLIST和SHOW
    PROCESSLIST查询线程新闻的秘籍会消耗一定品质,因为他们需求互斥体
  • threads表为各样线程提供附加消息,例如:它是前台依旧后台线程,以及与线程相关联的server内部新闻
  • threads表提供关于后台线程的新闻,而INFOKugaMATION_SCHEMA.PROCESSLIST和SHOW
    PROCESSLIST不可能提供
  • 能够由此threads表中的INSTRUMENTED字段灵活地动态开关有个别线程的监视功效、HISTOOdysseyY字段灵活地动态开关有些线程的野史事件日志记录成效。要控制新的前台线程的开头INSTRUMENTED和HISTO汉兰达Y列值,通过setup_actors表的HOST、
    USEGL450对有个别主机、用户展开配置。要控制已创制线程的募集和历史事件记录效能,通过threads表的INSTRUMENTED和HISTORAV4Y列进行安装
  • 对于INFORMATION_SCHEMA.PROCESSLIST和SHOW
    PROCESSLIST,需求有PROCESS权限,对于threads表只要有SELECT权限就足以查看全数用户的线程音信

假定某些instruments的enabled设置为YES(表示启用那么些instruments),不过timed列未安装为YES(表示计时器功效禁用),则instruments会时有发惹事件音讯,不过事件消息对应的TIME锐界_START,TIMER_END和TIMER_WAIT定时器值都为NULL。后续汇总表中总计sum,minimum,maximum和average时间值时会忽略那几个null值

+————-+————-+

(2) system variables

mysql> SELECT * FROM setup_objects;

  • NAME:instruments名称,instruments名称或许装有八个部分并摇身1变层次结构(详见下文)。当instruments被执行时,产生的风浪名称就取自instruments的称谓,事件尚无真的的称谓,直接使用instruments来作为事件的名目,能够将instruments与产生的轩然大波举行关联
  • ENABLED:instrumetns是不是启用,有效值为YES或NO,此列能够动用UPDATE语句修改。假诺设置为NO,则这一个instruments不会被实施,不会发出任何的轩然大波新闻
  • TIMED:instruments是否收集时间音讯,有效值为YES或NO,此列能够选择UPDATE语句修改,如果设置为NO,则那几个instruments不会收集时间音信

shell> cmake .

IT从业多年,历任运行工程师、高级运转为工人身份程师、运转老总、数据库工程师,曾涉足版本发表系统、轻量级监察和控制系统、运维管理平台、数据库管理平台的统一筹划与编辑,熟悉MySQL体系布局,Innodb存款和储蓄引擎,喜好专研开源技术,追求完善。

admin@localhost : performance_schema 04:25:55> select * from
threads where TYPE=’FOREGROUND’ limit 2G;

是或不是在MySQL Server运营时就打开

下一篇将为大家分享 《事件记录 |
performance_schema 全方位介绍》
,谢谢你的翻阅,大家不见不散!
回到天涯论坛,查看越来越多

setup_objects表控制performance_schema是还是不是监视特定指标。暗许情状下,此表的最大行数为100行。要改变表行数轻重,能够在server运行此前修改系统变量performance_schema_setup_objects_size的值。

对setup_timers表的改动会及时影响监察和控制。正在履行的轩然大波或者会选用修改以前的计时器作为开端时间,但只怕会选拔修改将来的新的计时器作为达成时间,为了制止计时器更改后恐怕发生时间音讯搜集到不足预测的结果,请在修改未来接纳TRUNCATE TABLE语句来重置performance_schema中相关表中的总括讯息。

对此后台线程,对setup_actors表的改动不奏效,若是要干涉后台线程暗中同意的设置,需求查询threads表找到相应的线程,然后使用UPDATE语句直接修改threads表中的INSTRUMENTED和HISTO中华VY列值。

# Support列值为YES表示数据库帮衬,不然你大概必要升级mysql版本:

+———————————-+———+

–performance-schema-instrument= ‘%=OFF’

| NAME |ENABLED | TIMED |

| wait/synch/mutex/sql/LOCK_lock_db |YES | YES |

THREAD_ID: 43

wait/synch:磁盘同步object相关的instruments,
performance_schema.events_waits_xxx表中的TIMER_WAIT时间列包含了在品味获得有些object上的锁(若是那一个目的上曾经存在锁)的时候被堵塞的时间长度。

| events_waits_history_long |NO |

events_xxx_summary_by_yyy_by_event_name表的笔录成效,运行将来也得以在setup_consumers表中选用UPDATE语句进行动态更新线程配置项

admin@localhost : performance_schema 09 :16:59> select * from
setup_instruments where name like ‘wait/io/file/innodb/%’;

在上1篇 《初相识 |
performance_schema全方位介绍》
中简易介绍了何等布置与使用performance_schema,相信大家对performance_schema能够为大家提供什么的性情数据已经有3个开端的认识,今天将引导大家一块踏上再而三串第一篇的道路(全系共多少个篇章),在那1期里,大家将为我们无微不至授课performance_schema配置方式以及各样配置表的功力。上边,请跟随大家共同起来performance_schema系统的读书之旅吧。

+————-+—————–+——————+—————-+

| wait/io/file/sql/binlog_index |YES | YES |

+——+——+——+———+———+

+————-+——————–+————-+———+——-+

默许值为TRUE

#
倘诺发现performance_schema开端的多少个选项,则代表最近mysqld扶助performance_schema,要是未有发觉performance_schema相关的选项,表达当前数据库版本不帮助performance_schema,你或者必要升级mysql版本:

| FUNCTION |mysql | % |NO | NO |

root@localhost : performance_schema 05:48:32> update threads
setINSTRUMENTED= ‘YES’wherePROCESSLIST_ID!=connection_id();

performance_schema_max_sql_text_length=1024

Number of rows inevents_waits_history_long.

performance-schema-consumer-events-transactions-current FALSE

| wait/io/file/sql/dbopt |YES | YES |

admin@localhost : (none) 12:54:00> show engines;

–performance-schema-instrument= ‘instrument_name=value’

|MICROSECOND | 1000000 |1| 136 |

相关文章

标签:

Your Comments

近期评论

    功能


    网站地图xml地图