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

作者:威尼斯人技术

performance-schema-consumer-global-instrumentation TRUE

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

      performance-schema最早在MYSQL 5.5中冒出,而这几天5.6,5.7中performance-Schema又增加了更加多的监督检查项,总结信息也更增加,越来越有ORACLE-AWHighlander总括音信的赶脚,真乃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 |
-------------------------------- ---------
能够看出有10个consumer,倘使不想关心有个别consumer,能够将ENABLED设置为NO,比如events_statements_history_long设置为NO,
则搜聚事件不会写入到对应的表events_statements_history_long中。11个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表,别的二个是statements_digest,这么些用于全局总括SQL-digest的新闻。第三档期的顺序是语句维度,包蕴events_waits_current,events_stages_current和events_statements_current,分别用于总计wait,stages和statement音讯,第四档案的次序是历史表音信,首要包罗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包涵1柒11个,wait包括2100个。

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语句直接退换配置表,并且修改后方可即时生效,但这种措施必需得运行服务器后才足以修改,并且不能够长久化,重启后,又得重复设置一次。从5.6.4始发提供了my.cnf的计划形式,格式如下:

1.装置收集的instrument
performance_schema_instrument='instrument_name=value'
(1)张开wait类型的授命
performance_schema_instrument='wait/%'
(2)展开全数指令
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处于第4层,因而设置它时,要确定保证events_statements_current,thread_instrumentation和global_instrumentation的ENABLED状态都为YES,手艺行之有效。由于默许thread_instrumentation和global_instrumentation都以YES,由此只须求体现设置events_waits_current和events_waits_current即可。

3.安装计算表大小
所有的performance_schema表均选用PEKoleosFORMANCE_SCHEMA存款和储蓄引擎,表中的全体数据只设有内存,表的大大小小在系统初阶化时已经
恒定好,由此据有的内部存款和储蓄器是不容置疑的。能够通过计划来定制具体每一种表的记录数。
performance_schema_events_waits_history_size=20
performance_schema_events_waits_history_long_size=15000

 

Performance-Schema(一) 配置表,performanceschema performance-schema最早在MYSQL 5.5中冒出,近年来天5.6,5.7中performance-Schema又增加了越来越多的监察项,统...

MySQL Performance-Schema(一) 配置表

performance-schema最早在MYSQL 5.5中出现,方今后5.6,5.7中performance-Schema又加多了越多的监察项,总计音讯也更增进,更加的有ORACLE-AWEvoque总计音信的赶脚,真乃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 |

-------------------------------- ---------

能够看出有13个consumer,如若不想关怀某个consumer,能够将ENABLED设置为NO,比方events_statements_history_long设置为NO,

则收集事件不会写入到对应的表events_statements_history_long中。13个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表,其余三个是statements_digest,那些用于全局总结SQL-digest的音信。第三等级次序是语句维度,富含events_waits_current,events_stages_current和events_statements_current,分别用于总计wait,stages和statement新闻,第四档案的次序是历史表新闻,主要总结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包蕴1陆15个,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语句直接退换配置表,并且修改后方可即刻生效,但这种措施必需得运维服务器后才方可修改,而且不可能悠久化,重启后,又得重新安装贰回。从5.6.4始发提供了my.cnf的配置格局,格式如下:

 

1.装置搜集的instrument

performance_schema_instrument='instrument_name=value'

(1)张开wait类型的命令

performance_schema_instrument='wait/%'

(2)张开装有指令

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处于第4层,因此设置它时,要力保events_statements_current,thread_instrumentation和global_instrumentation的ENABLED状态都为YES,本领立竿见影。由于暗中同意thread_instrumentation和global_instrumentation都以YES,因而只供给出示设置events_waits_current和events_waits_current即可。

 

3.装置总计表大小

所有的performance_schema表均选拔PEHavalFORMANCE_SCHEMA存款和储蓄引擎,表中的具备数据只存在内部存款和储蓄器,表的大小在系统早先化时早就

原则性好,因而据有的内部存款和储蓄器是必定的。能够透过安顿来定制具体每一种表的记录数。

performance_schema_events_waits_history_size=20

performance_schema_events_waits_history_long_size=15000

Performance-Schema(一) 配置表 performance-schema最早在MYSQL 5.5中冒出,最近天5.6,5.7中performance-Schema又增添了越来越多的监督项,计算音信也更丰富...

2.setup_consumers表用于配置事件的顾客类型,即搜聚的平地风波最后会写入到哪边总计表中。
root@performance_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 |
-------------------------------- ---------
能够见到有13个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

大多数setup_instruments配置行修改会及时影响监控,但对于一些instruments,运转时修改不奏效(配置表可以修改,但不见效),独有在开发银行在此之前修改才会收效(使用system variables写到配置文件中),不见效的instruments主要有mutexes, conditions, and rwlocks

3.setup_instruments表用于配置一条条实际的instrument,首要包罗4大类:idle,stage/xxx,statement/xxx,wait/xxx.
root@performance_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包括112个,statement包涵1六十三个,wait富含2九十七个。

performance-schema-consumer-events-transactions-history FALSE

配置格局

| wait/io/file/innodb/innodb_temp_file |YES | YES |

root@performance_schema 06:03:09>show tables like '%setup%';
----------------------------------------
| Tables_in_performance_schema (%setup%) |
----------------------------------------
| setup_actors |
| setup_consumers |
| setup_instruments |
| setup_objects |
| setup_timers |
----------------------------------------

------------- --------------- ------------- --------- -------

      performance-schema最早在MYSQL 5.5中冒出,这段日子后5.6,5.7中performance-Schema又增加了越多的监察项,总括音信也更丰盛,越来越有ORACLE-AW安德拉总结音信的赶脚,真乃DBA童鞋进行质量会诊剖判的佛法。本文首要讲Performance-Schema中的配置表,通过安顿表能大致通晓performance-schema的全貌,为接二连三使用和深远通晓做希图。

# 当然,若是要连后台线程一同操作,请带上条件PROCESSLIST_ID isNULL

此间要专注consumer的层系关系, events_waits_history处于第4层,由此设置它时,要保管events_statements_current,thread_instrumentation和global_instrumentation的ENABLED状态都为YES,才具立见功用。由于私下认可thread_instrumentation和global_instrumentation都以YES,因而只须要呈现设置events_waits_current和events_waits_current即可。

图片 1

5.setup_timers表用于配置每一个类型指令的总括时间单位。MICROSECOND表示总计单位是微妙,CYCLE表示计算单位是石英钟周期,时间衡量与CPU的主频有关,NANOSECOND表示计算单位是飞秒,关于每系列型的切实意思,能够参谋performance_timer那个表。由于wait类满含的都以伺机事件,单个SQL调用次数非常多,因此选择代价最小的气量单位cycle。但无论选择哪一类衡量单位,最终总计表中执会考察总括局计的岁月都会装换成阿秒。

# setup_instruments表

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

wait/synch/cond/myisam/MI_SORT_INFO::cond

**      私下认可情状下,setup_instruments表只开发了statement和wait/io部分的一声令下,setup_consumer表中比较多consumer也一贯不张开。为了展开须要的选项,能够经过update语句直接改换配置表,并且修改后得以立即生效,但这种办法必需得运维服务器后才方可修改,况且不能够持久化,重启后,又得重复设置一遍。从5.6.4起来提供了my.cnf的陈设格局,格式如下:

下一篇将为我们分享 《事件记录 | performance_schema 全方位介绍》 ,谢谢您的开卷,大家不见不散!回到腾讯网,查看越多

配置表

setup_instruments中的instruments name层级结构图如下:

多档次的consumer遵循三个为主尺度,唯有上一档次的为YES,才会持续检查该本层为YES or NO。global_instrumentation是最高等别consumer,借使它设置为NO,则怀有的consumer都会忽略。假使只开采global_instrumentation,而关门全部其余子consumer(设置为NO),则只搜聚全局维度的总计信息,比方xxx_instance表,而不会搜集用户维度,语句维度的新闻。第二档案的次序的是thread_instrumentation,用户线程维度的计算新闻,比方xxx_by_thread表,其他贰个是statements_digest,这么些用于全局总结SQL-digest的音讯。第三档案的次序是语句维度,满含events_waits_current,events_stages_current和events_statements_current,分别用于总计wait,stages和statement音信,第四档次是野史表新闻,首要归纳xxx_history和xxx_history_long。

------------- -------------

performance_schema_consumer_events_waits_current=on

| events_stages_history |NO |

1.setup_actors用于配置user维度的监督,私下认可情形下监察和控制全部用户线程。
root@performance_schema 05:47:27>select * from setup_actors;
------ ------ ------
| HOST | USER | ROLE |
------ ------ ------
| % | % | % |
------ ------ ------

| 运维时布置

root@performance_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 |
------------- -------------------- ------------- --------- -------

performance-schema-consumer-statements-digest TRUE

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

  • performance_schema_consumer_statements_digest=TRUE

performance_schema_consumer_events_waits_history=on

能够行使cmake的编写翻译选项来自行决定你的MySQL实例是或不是帮忙performance_schema的某部等待事件体系,如下:

1.安装搜聚的instrument
performance_schema_instrument='instrument_name=value'
(1)张开wait类型的授命
performance_schema_instrument='wait/%'
(2)展开装有指令
performance_schema_instrument='%=on'

还足以登陆到MySQL实例中利用SQL命令查看是不是帮衬performance_schema:

root@performance_schema 06:29:50>select from setup_timers;
----------- -------------
| NAME | TIMER_NAME |
----------- -------------
| idle | MICROSECOND |
| wait | CYCLE |
| stage | NANOSECOND |
| statement | NANOSECOND |
----------- ------------- *

  • instruments名称前缀表示instruments的品类(如wait/io/file/myisam/log中的wait),该前缀名称还用于在setup_timers表中安顿某些事件类型的机械漏刻,也被称作顶层组件
  • instruments名称后缀部分来自instruments自身的代码。后缀只怕包罗以下层级的组件: * 主要组件的名号(如:myisam,innodb,mysys或sql,这一个都是server的子系统模块组件)或插件名称 * 代码中变量的名目,格式为XXX(全局变量)或CCC::MMM(CCC表示一个类名,MMM表示在类CCC功效域中的一个分子对象),如:'wait/synch/cond/sql/COND_thread_cache' instruments中的COND_thread_cache,'wait/synch/mutex/mysys/THR_LOCK_myisam' instruments中的THR_LOCK_myisam,'wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index' instruments中的MYSQL_BIN_LOG::LOCK_index

4.setup_objects表用于配置监控对象,私下认可意况下全体mysql,performance_schema和information_schema中的表都不监察和控制。而别的DB的享有表都监察和控制。

--performance-schema-instrument= '%=ON'

3.安装计算表大小
所有的performance_schema表均选拔PE福特ExplorerFORMANCE_SCHEMA存储引擎,表中的兼具数据只存在内部存储器,表的分寸在系统开首化时曾经
一定好,因而据有的内部存款和储蓄器是一定的。能够经过布置来定制具体每一种表的记录数。
performance_schema_events_waits_history_size=20
performance_schema_events_waits_history_long_size=15000

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

 

Comment: Performance Schema

mysql>UPDATE setup_consumers SET ENABLED ='NO'WHERE NAME ='events_waits_current';

原标题:配置详解 | performance_schema全方位介绍(二)

--performance-schema-instrument= 'wait/synch/cond/%=COUNTED'

|TICK | 105 |1| 2416 |

一个给定instruments名称的含义,供给看instruments名称的侧边命名而定,举例下面三个myisam相关称号的instruments含义各差异样:

* 查询语句top number监察和控制,要求开辟'statement/sql/select' instruments,然后展开events_statements_xxx表,通过询问performance_schema.events_statements_xxx表的SQL_TEXT字段能够观察原始的SQL语句,查询TIME普拉多_WAIT字段可以领略总的响应时间,LOCK_TIME字段能够知晓加锁时间(注意时间单位是纳秒,须要除以一千000000000才是单位秒)

setup_objects表列含义如下:

mysql> SELECT * FROM setup_instruments;

| TRIGGER |information_schema | % |NO | NO |

CONNECTION_TYPE: NULL

------ ------ ------ --------- ---------

借使有个别instruments的enabled设置为YES(表示启用这些instruments),不过timed列未安装为YES(表示定时器作用禁用),则instruments会时有发惹祸件消息,可是事件新闻对应的TIMECRUISER_START,TIMER_END和TIMER_WAIT机械漏刻值都为NULL。后续汇总表中总结sum,minimum,maximum和average时间值时会忽略那么些null值

setup_consumers表列出了consumers可安顿列表项(注意:该表不帮忙增删记录,只支持修改和查询),如下:

---------------------------------- ---------

  • performance_schema_consumer_events_stages_history_long=FALSE

THREAD _OS_ID: 3652

3). 某个行操作恐怕会促成多少个表I/O等待。举个例子,借使有INSERT的触发器,那么插入操作也许引致触发器更新操作。

ROLE: NULL

|MICROSECOND | 1000000 |1| 136 |

当performance_schema在setup_objects表中张开相称检查评定时,会尝试首先找到最实际(最标准)的相称项。例如,在相称db1.t1表时,它会从setup_objects表中先物色“db1”和“t1”的相称项,然后再搜索“db1”和“%”,然后再找找“%”和“%”。匹配的一一很关键,因为不相同的合营行也会有所区别的ENABLED和TIMED列值

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

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

名称中给定组件的解释取决于其侧面的零部件。举例,myisam呈现在以下多个名称:

| TIMER_NAME |TIMER_FREQUENCY | TIMER_RESOLUTION |TIMER_OVERHEAD |

(4)setup_instruments表

mysql> SELECT * FROM setup_timers;

Enable the performance schema.

#剥夺全数文件类instruments,使用NAME字段结合like模糊相配:

  • 对threads表的拜访没有需求互斥体,对server品质影响相当的小。 而使用INFORMATION_SCHEMA.PROCESSLIST和SHOW PROCESSLIST查询线程音信的方法会花费一定质量,因为她俩须要互斥体
  • threads表为各样线程提供附加新闻,譬喻:它是前台照旧后台线程,以及与线程相关联的server内部新闻
  • threads表提供有关后台线程的音信,而INFORMATION_SCHEMA.PROCESSLIST和SHOW PROCESSLIST不能够提供
  • 能够经过threads表中的INSTRUMENTED字段灵活地动态按键有些线程的监视成效、HISTOMuranoY字段灵活地动态按键有个别线程的野史事件日志记录功能。要调整新的前台线程的初步INSTRUMENTED和HISTO中华VY列值,通过setup_actors表的HOST、 USESportage对某些主机、用户张开布署。要调节已创建线程的搜聚和野史事件记录功用,通过threads表的INSTRUMENTED和HISTOEnclaveY列实行安装
  • 对于INFORMATION_SCHEMA.PROCESSLIST和SHOW PROCESSLIST,须要有PROCESS权限,对于threads表只要有SELECT权限就能够查阅全数用户的线程音信

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

| 导语

检索innodb存款和储蓄引擎的文件有关的instruments,能够用如下语句询问:

## 当sam从随机主机(%相配)连接到mysql server时,则延续符合第三个INSERT语句插入的安排行,threads表中对应配置行的INSTRUMENTED列值变为NO,HISTOXC60Y列值为YES

| 基本概念

PARENT _THREAD_ID: 1

| FUNCTION |mysql | % |NO | NO |

setup_instruments 表列出了instruments 列表配置项,即表示了怎么样事件帮忙被访谈:

......

setup_instruments表,对非常多instruments的改动会登时影响监察和控制。但对于一些instruments,修改须要在mysql server重启才生效,运行时修改不奏效。因为那些只怕会影响mutexes、conditions和rwlocks,上面我们来看某些setup_instruments表修改示例:

在setup_instruments表中的instruments超级instruments 组件分类如下:

------ ------ ------ --------- ---------

| TABLE |db2 | % |YES | YES |

(1) 运转选项

  • performance_schema_consumer_events_statements_history=TRUE

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

| wait/synch/mutex/sql/LOCK_global_system_variables |YES | YES |

[root@localhost ~] # mysqld --verbose --help |grep performance-schema |grep -v '--' |sed '1d' |sed '/[0-9] /d'

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

|global_instrumentation | YES |

INSTRUMENTED: YES

UPDATEsetup_actors SETENABLED = 'NO', HISTORY = 'NO'WHEREHOST = '%'ANDUSER= '%';

## 假设把UPDATE语句改成DELETE,让未明朗钦命的用户在setup_actors表中找不到另外相配行,则threads表中对应配置行的INSTRUMENTED和HISTOXC90Y列值变为NO

闭馆与开启全数后台线程的监察收罗功效

PROCESSLIST_TIME: 27439

## 开关全部的instruments

能够因而UPDATE语句来更动setup_timers.TIMER_NAME列值,以给区别的风云体系选项分歧的沙漏,setup_timers.TIMER_NAME列有效值来自performance_timers.TIMER_NAME列值。

Savepoints: NO

| TRIGGER |% | % |YES | YES |

Rows matched: 40 Changed: 40 Warnings: 0

#闭馆历史事件记录功能

Rows matched: 40 Changed: 40 Warnings: 0

友谊提醒:以下内容阅读起来也许相比较烧脑,内容也较长,提出大家端好板凳,坐下来,点上一支烟,细细品读,这也是读书performance_schema路上只可以过的仙姑顶,持之以恒下去,"翻过那座山,你就足以见见一片海!"

--performance_schema

| FUNCTION |information_schema | % |NO | NO |

TYPE: FOREGROUND

setup_actors表的上马内容是合作任何用户和主机,因而对于具备前台线程,暗中认可情形下启用监视和野史事件访问效能,如下:

| TABLE |performance_schema | % |NO | NO |

## 钦赐开启单个instruments

  • performance_schema_instrument[=name]

PS:

............

与performance_schema_consumer_events_statements_current选项类似,但该选拔是用于配置是不是记录语句事件短历史音信,私下认可为TRUE

专注,这个运维选项要卓有作用的前提是,须要安装performance_schema=ON。别的,这几个运行选项纵然无法接纳show variables语句查看,但大家能够通过setup_instruments和setup_consumers表查询这几个选择钦定的值。

------------- -------------

| EVENT |% | % |YES | YES |

PROCESSLIST_ID: 1

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

# 第一种instruments表示myisam引擎的文本IO相关的instruments

  • HOST:与grant语句看似的主机名,二个具体的字符串名字,或行使“%”表示“任何主机”
  • USECRUISER:三个切实的字符串名称,或利用“%”表示“任何用户”
  • ROLE:当前未选用,MySQL 8.0中才启用剧中人物效能
  • ENABLED:是还是不是启用与HOST,USELX570,ROLE相称的前台线程的监察作用,有效值为:YES或NO
  • HISTOLacrosseY:是还是不是启用与HOST, USETucson,ROLE相称的前台线程的野史事件记录功能,有效值为:YES或NO
  • PS:setup_actors表允许行使TRUNCATE TABLE语句清空表,恐怕DELETE语句删除钦点行

# 关闭除了当前连年之外的装有前台线程的轩然大波访谈

setup_objects表控制performance_schema是还是不是监视特定对象。暗许境况下,此表的最大行数为100行。要更换表行数大小,能够在server运转此前修改系统变量performance_schema_setup_objects_size的值。

......

  • OBJECT_SCHEMA ='literal' and OBJECT_NAME ='literal'
  • OBJECT_SCHEMA ='literal' and OBJECT_NAME ='%'
  • OBJECT_SCHEMA ='%' and OBJECT_NAME ='%'
  • 比如,要相配表对象db1.t1,performance_schema在setup_objects表中先物色“OBJECT_SCHEMA = db1”和“OBJECT_NAME = t1”的相配项,然后搜索“OBJECT_SCHEMA = db1”和“OBJECT_NAME =%”,然后寻觅“OBJECT_SCHEMA = %”和“OBJECT_NAME = %”。相配顺序很注重,因为区别的相配行中的ENABLED和TIMED列能够有两样的值,最后会选取贰个最可信赖的万分项

是否在MySQL Server运维时就翻开

本文由威尼斯人科技发布,转载请注明来源

关键词: 微尼斯人娱乐 威尼斯人官网