MySQL Performance-Schema(壹) 配置表

setup_consumers表列出了consumers可布置列表项(注意:该表不补助增删记录,只扶助修改和询问),如下:

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

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

      performance-schema最早在MYSQL
伍.5中出现,而未来五.六,伍.七中performance-Schema又添加了越多的监督项,总括消息也更增进,越来越有ORACLE-AW凯雷德计算新闻的赶脚,真乃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中。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表,而不会收集用户维度,语句维度的消息。第3层次的是thread_instrumentation,用户线程维度的总计新闻,比如xxx_by_thread表,此外几个是statements_digest,那几个用于全局计算SQL-digest的音信。第一层次是语句维度,包含events_waits_current,events_stages_current和events_statements_current,分别用于计算wait,stages和statement信息,第5层次是野史表音信,首要不外乎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包罗1拾个,statement包涵1陆11个,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语句直接修改配置表,并且修改后得以登时生效,但那种艺术必需得运转服务器后才得以修改,并且不能持久化,重启后,又得重新安装2次。从5.陆.肆起首提供了my.cnf的安顿形式,格式如下:

一.安装采集的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即可。

3.设置总括表大小
所有的performance_schema表均采纳PEHavalFO帕杰罗MANCE_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.七中performance-Schema又添加了越多的督察项,统…

MySQL Performance-Schema(一) 配置表

performance-schema最早在MYSQL
伍.5中冒出,而将来伍.陆,五.七中performance-Schema又添加了越多的监察项,总计音讯也更丰硕,越来越有ORACLE-AW昂科威计算消息的赶脚,真乃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中。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,重要含有四大类: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蕴涵110个,statement包括1陆十九个,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语句直接改动配置表,并且修改后能够及时生效,但那种方法必需得运转服务器后才能够修改,并且不能够持久化,重启后,又得重复设置2遍。从五.陆.四从头提供了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即可。

 

3.设置总计表大小

所有的performance_schema表均采纳PE福特ExplorerFO景逸SUVMANCE_SCHEMA存款和储蓄引擎,表中的拥有数据只存在内部存款和储蓄器,表的尺寸在系统开端化时早已

定点好,因而占有的内部存款和储蓄器是必定的。能够透过陈设来定制具体各种表的记录数。

performance_schema_events_waits_history_size=20

performance_schema_events_waits_history_long_size=15000

Performance-Schema(一) 配置表
performance-schema最早在MYSQL
5.5中冒出,近日后五.6,伍.七中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 |
+——————————–+———+
能够见到有十一个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

Engine: PERFORMANCE_SCHEMA

那里要留意consumer的层次关系, events_waits_history处于第陆层,因而设置它时,要力保events_statements_current,thread_instrumentation和global_instrumentation的ENABLED状态都为YES,才能奏效。由于默许thread_instrumentation和global_instrumentation都以YES,因而只须求显示设置events_waits_current和events_waits_current即可。

wait/io/table/sql/handler:

1.setup_actors用于配置user维度的督察,暗许意况下监察和控制全体用户线程。
root@performance_schema
05:47:27>select * from setup_actors;
+——+——+——+
| HOST | USER | ROLE |
+——+——+——+
| % | % | % |
+——+——+——+

关门与开启全部后台线程的监察采集作用

      performance-schema最早在MYSQL
伍.5中出现,而最近5.陆,5.柒中performance-Schema又添加了越来越多的监察和控制项,总括音信也更增长,越来越有ORACLE-AWXC90总结音讯的赶脚,真乃DBA童鞋实行品质会诊分析的福音。本文主要讲Performance-Schema中的配置表,通过计划表能大概掌握performance-schema的全貌,为持续使用和深刻精通做准备。

|运维时配置

 

| EVENT |performance_schema | % |NO | NO |

三.安装总结表大小
所有的performance_schema表均采取PE奥迪Q7FOEvoqueMANCE_SCHEMA存款和储蓄引擎,表中的有所数据只存在内部存款和储蓄器,表的大小在系统起头化时曾经
原则性好,因而占有的内部存款和储蓄器是毫无疑问的。能够经过配备来定制具体各类表的记录数。
performance_schema_events_waits_history_size=20
performance_schema_events_waits_history_long_size=15000

mysql>UPDATE setup_instruments SET ENABLED = IF(ENABLED = ‘YES’,
‘NO’, ‘YES’) WHERE NAME = ‘wait/synch/mutex/mysys/TMPDIR_mutex’;

壹.装置采集的instrument
performance_schema_instrument=’instrument_name=value’
(1)打开wait类型的通令
performance_schema_instrument=’wait/%’
(二)打开全部指令
performance_schema_instrument=’%=on’

新线程消息的INSTRUMENTED和HISTOPRADOY列值由setup_actors表中的配置决定。有关setup_actors表的详细音信参见三.三.伍.

performance_schema_consumer_events_waits_current=on

Query OK, 40 rows affected (0.00 sec)

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 |
+—————————————-+

setup_objects配置表中暗中同意的安顿规则是不启用对mysql、INFO瑞虎MATION_SCHEMA、performance_schema数据库下的靶子进行蹲点的(ENABLED和TIMED列值全都为NO)

配置表

|events_stages_history_long | NO |

**     
私下认可景况下,setup_instruments表只开辟了statement和wait/io部分的指令,setup_consumer表中许多consumer也未尝打开。为了打开供给的选项,能够通过update语句直接改动配置表,并且修改后得以登时生效,但那种方法必需得运营服务器后才方可修改,并且无法持久化,重启后,又得重新安装三遍。从5.陆.四始发提供了my.cnf的布局情势,格式如下:

二).
与多数等待事件差别,表I/O等待能够归纳其它等待。例如,表I/O也许蕴涵文件I/O或内存操作。因而,表I/O等待的事件在events_waits_current表中的记录普通有两行(除了wait/io/table/sql/handler的轩然大波记录之外,大概还隐含一行wait/io/file/myisam/dfile的事件记录)。那种能够称作表IO操作的原子事件

5.setup_timers表用于配置每系列型指令的总计时间单位。MICROSECOND表示总括单位是微妙,CYCLE表示总括单位是石英钟周期,时间衡量与CPU的主频有关,NANOSECOND表示总计单位是飞秒,关于每种类型的求实意思,能够参照performance_timer那一个表。由于wait类包蕴的都是伺机事件,单个SQL调用次数比较多,由此选取代价最小的心气单位cycle。但不管使用哪个种类衡量单位,最后计算表中执会侦察总计局计的岁月都会装换到阿秒。

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

performance_schema_consumer_events_waits_history=on

performance-schema-consumer-events-statements-current TRUE

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

| events_transactions_history |NO |

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

|transaction | NANOSECOND |

多层次的consumer遵循一个主干尺度,只有上一层次的为YES,才会延续检查该本层为YES
or NO。global_instrumentation是最高级别consumer,假如它设置为NO,则持有的consumer都会忽略。借使只开辟global_instrumentation,而关门全数其余子consumer(设置为NO),则只收集全局维度的总计新闻,比如xxx_instance表,而不会采集用户维度,语句维度的消息。第1层次的是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。

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

安顿方式

  • 控制performance_schema成效的开关,要利用MySQL的performance_schema,需求在mysqld运行时启用,以启用事件采访作用
  • 该参数在五.7.x从前帮衬performance_schema的本子中暗许关闭,伍.柒.x版本伊始暗中认可开启
  • 注意:假设mysqld在开端化performance_schema时发现不可能分配任何有关的内部缓冲区,则performance_schema将电动禁止使用,并将performance_schema设置为OFF

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

| TABLE |mysql | % |NO | NO |

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 |
+————-+——————–+————-+———+——-+

(一) 运行选项

3.setup_instruments表用于配置一条条有血有肉的instrument,首要涵盖④大类: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包括110个,statement包涵壹七17个,wait包涵2玖伍个。

wait/io/file/myisam/ log

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

暗许值为TRUE

mysql>UPDATE setup_instruments SET ENABLED = ‘NO’WHERE NAME =
‘wait/synch/mutex/mysys/TMPDIR_mutex’;

  • OBJECT_TYPE:instruments类型,有效值为:“EVENT”(事件调度器事件)、“FUNCTION”(存款和储蓄函数)、“PROCEDURE”(存款和储蓄过程)、“TABLE”(基表)、“TLANDIGGE昂科威”(触发器),TABLE对象类型的配置会潜移默化表I/O事件(wait/io/table/sql/handler
    instrument)和表锁事件(wait/lock/table/sql/handler
    instrument)的募集
  • OBJECT_SCHEMA:某些监视项目对象涵盖的数据库名称,1个字符串名称,或“%”(表示“任何数据库”)
  • OBJECT_NAME:有个别监视项目对象涵盖的表名,一个字符串名称,或“%”(表示“任何数据库内的对象”)
  • ENABLED:是或不是开启对有些项目对象的监视功能,有效值为:YES或NO。此列能够修改
  • TIMED:是或不是打开对有些项目对象的年月采集效能,有效值为:YES或NO,此列可以修改
  • PS:对于setup_objects表,允许行使TRUNCATE TABLE语句

# 插入用户joe@’localhost’对应ENABLED和HISTOBMWX3Y都为YES的安插行

Rows matched: 2 Changed: 2 Warnings: 0

小心:在mysqld选项或show
engines语句输出的结果中,假使见到有performance_schema相关的消息,并不意味已经启用了performance_schema,仅仅只是代表数据库帮衬,若是急需启用它,还须要在服务器运维时使用系统参数performance_schema=on(MySQL
伍.7事先的本子暗中认可关闭)显式开启

# setup_instruments表

PS:

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

performance_schema_max_sql_text_length=1024

|idle | MICROSECOND |

NAME: thread/sql/compress_gtid_table

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

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

一个给定instruments名称的含义,需求看instruments名称的左侧命名而定,例如下面四个myisam相关称号的instruments含义各不同:

mysql>UPDATE setup_instruments SET ENABLED = ‘NO’;

在源代码中每两个落到实处的instruments,借使该源代码被加载到server中,那么在该表中就会有壹行对应的配备,当启用或执行instruments时,会创制对应的instruments实例,那一个实例在*
_instances表中得以查看到

(5)setup_actors表

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

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

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

setup_instruments表字段详解如下:

  • performance_schema_consumer_events_stages_history_long=FALSE

consumers:消费者,对应的买主表用于储存来自instruments采集的多少,对应配置表中的配备项大家能够称呼消费存款和储蓄配置项,以下谈到消费者均统称为consumers

#切换instruments开关的情事,“翻转”ENABLED值,使用ENABLED字段值+
if函数, IF(ENABLED = ‘YES’, ‘NO’,
‘YES’)表示,借使ENABLED值为YES,则修改为NO,不然修改为YES:

| TABLE |performance_schema | % |NO | NO |

setup_timers表字段含义如下:

Query OK, 2rows affected(0.00sec)

performance-schema-consumer-events-stages-history FALSE

performance_timers表中著录了server中有怎么样可用的事件计时器(注意:该表中的配置项不协理增加和删除改,是只读的。有哪些计时器就表示近年来的版本扶助什么计时器),setup_timers配置表中的布署项引用此表中的计时器

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

PROCESSLIST_COMMAND: Daemon

从上海教室中的消息中得以看出,setup_consumers**表中consumers配置层次结构中:**

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

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

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

## 当joe从localhost连接到mysql
server时,则连年符合第二个INSE本田CR-VT语句插入的布署行,threads表中对应配置行的INSTRUMENTED和HISTOPRADOY列值变为YES

  • 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

# setup_objects表

对此后台线程,对setup_actors表的改动不奏效,假使要过问后台线程默许的安装,要求查询threads表找到呼应的线程,然后使用UPDATE语句直接改动threads表中的INSTRUMENTED和HISTORAV4Y列值。

产品:沃趣科技(science and technology)

Number of rows inevents_waits_history_long.

root@localhost : performance_schema 05:47:08> update threads
setINSTRUMENTED= ‘YES’whereTYPE= ‘BACKGROUND’;

| TABLE |db1 | t1 |YES | YES |

setup_instruments 表列出了instruments
列表配置项,即表示了什么样事件补助被采集:

Savepoints: NO

| TRIGGER |mysql | % |NO | NO |

*metadata
locks监察和控制必要开拓’wait/lock/metadata/sql/mdl’
instruments才能监察和控制,开启这些instruments之后在表performance_schema.metadata_locks表中能够查询到MDL锁音信

| TABLE |% | % |YES | YES |

# Support列值为YES表示数据库支持,不然你大概必要进步mysql版本:

|CYCLE | 2389029850 |1| 72 |

(2) system variables

本篇内容到此地就恍如尾声了,若是阅读了本章内容之后,感觉对performance_schema仍旧比较迷糊,那么建议依据如下步骤动入手、看一看:

  • 对此每一种新的前台server线程,perfromance_schema会合作该表中的User,Host列实行相称,就算同盟到有些配置行,则继续同盟该行的ENABLED和HISTO瑞鹰Y列值,ENABLED和HISTO福睿斯Y列值也会用来生成threads配置表中的行INSTRUMENTED和HISTO路虎极光Y列。如若用户线程在开马上在该表中绝非相称到User,Host列,则该线程的INSTRUMENTED和HISTOLacrosseY列将设置为NO,表示不对这几个线程进行监察,不记录该线程的野史事件音信。
  • 对于后台线程(如IO线程,日志线程,主线程,purged线程等),未有涉嫌的用户,
    INSTRUMENTED和HISTO奥迪Q5Y列值暗许为YES,并且后台线程在开马上,不会翻动setup_actors表的配备,因为该表只好控制前台线程,后台线程也不具有用户、主机属性

# 插入用户sam@’%’对应ENABLED=NO、HISTOCRUISERY=YES的布置行

下边将对这个运维选项进行简短描述(那几个运营选项是用以钦命consumers和instruments配置项在MySQL运行时是或不是跟随打开的,之所以称之为运行选项,是因为这几个供给在mysqld运营时就须要经过命令行钦定或然必要在my.cnf中钦命,运转未来通过show
variables命令一点都不大概查看,因为她俩不属于system variables)

PARENT _THREAD_ID: 1

| wait |CYCLE |

|global_instrumentation | YES |

Rows matched: 2 Changed: 2 Warnings: 0

## 除了joe和sam用户之外,别的任何用户从随机主机连接到mysql
server时,相称到第2个UPDATE语句更新之后的暗许配置行,threads表中对应配置行的INSTRUMENTED和HISTO宝马X3Y列值变为NO

|events_waits_history | NO |

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

PS:setup_instruments表不允许行使TRUNCATE
TABLE语句

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

注意:

# 第一种instruments表示myisam引擎的磁盘同步相关的instruments

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

#剥夺全体instruments,修改之后,生效的instruments修改会应声发生影响,即立时关闭收集作用:

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

| wait/io/file/sql/binlog |YES | YES |

当多个前台线程初阶化连接mysql
server时,performance_schema会对表setup_actors执行查询,在表中搜索各样配置行,首先尝试使用USEXC90和HOST列(ROLE未使用)依次找出协作的配备行,然后再找出最棒相配行并读取匹配行的ENABLED和HISTO卡宴Y列值,用于填充threads表中的ENABLED和HISTO福特ExplorerY列值。

壹).
wait/lock/table:表锁操作相关的instruments

performance_timers表中的字段含义如下**:**

关门与开启除了当前连接之外的全部线程的轩然大波采访(不包涵后台线程)

CONNECTION_TYPE: NULL

(4)setup_instruments表

PROCESSLIST_STATE: Suspending

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

对setup_consumers表的修改会立刻影响监控,setup_consumers字段含义如下:

| TABLE |db3 | % |NO | NO |

  • HOST:与grant语句看似的主机名,二个切实的字符串名字,或利用“%”表示“任何主机”
  • USE安德拉:二个切实可行的字符串名称,或使用“%”表示“任何用户”
  • ROLE:当前未使用,MySQL 八.0中才启用角色成效
  • ENABLED:是或不是启用与HOST,USE福特Explorer,ROLE相配的前台线程的监察作用,有效值为:YES或NO
  • HISTOTucsonY:是不是启用与HOST,
    USELacrosse,ROLE相配的前台线程的历史事件记录成效,有效值为:YES或NO
  • PS:setup_actors表允许行使TRUNCATE
    TABLE语句清空表,也许DELETE语句删除钦点行
  • 控制events_statements_summary_by_digest表中的最大行数。假设发生的说话摘抄音讯当先此最大值,便不只怕持续存入该表,此时performance_schema会追加状态变量
网站地图xml地图