澳门新萄京客户端下载MySQL Performance-Schema(一) 配置表,performanceschema

|events_stages_current | NO |

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

      performance-schema最早在MYSQL
伍.5中出现,而现行反革命五.陆,伍.7中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 |
+——————————–+———+
能够见见有十二个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消息,第四层次是历史表消息,首要总结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语句直接改动配置表,并且修改后方可登时生效,但那种格局必需得运维服务器后才得以修改,并且不能持久化,重启后,又得重新安装一遍。从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表均选取PE凯雷德FO奥德赛MANCE_SCHEMA存储引擎,表中的享有数据只设有内部存款和储蓄器,表的尺寸在系统开端化时早已
原则性好,由此占有的内部存款和储蓄器是必然的。可以透过配备来定制具体每种表的记录数。
performance_schema_events_waits_history_size=20
performance_schema_events_waits_history_long_size=15000

 

Performance-Schema(1)
配置表,performanceschema performance-schema最早在MYSQL
伍.5中冒出,而明天伍.6,5.七中performance-Schema又添加了更加多的监察项,统…

MySQL Performance-Schema(一) 配置表

performance-schema最早在MYSQL
五.5中出现,而未来伍.陆,5.7中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 |

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

能够看出有拾二个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表,别的多个是statements_digest,那么些用于全局总结SQL-digest的信息。第3层次是语句维度,包涵events_waits_current,events_stages_current和events_statements_current,分别用于计算wait,stages和statement消息,第6层次是历史表音信,首要归纳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包涵111个,statement包括1陆14个,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表均采纳PE奥迪Q叁FO奔驰M级MANCE_SCHEMA存款和储蓄引擎,表中的兼具数据只存在内部存款和储蓄器,表的高低在系统开头化时曾经

定位好,由此占有的内存是自然的。能够经过安顿来定制具体每种表的记录数。

performance_schema_events_waits_history_size=20

performance_schema_events_waits_history_long_size=15000

Performance-Schema(一) 配置表
performance-schema最早在MYSQL
5.5中出现,而近来5.陆,5.7中performance-Schema又添加了更加多的监察和控制项,总结音信也更充足…

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

3).
wait/synch/rwlock:一个线程使用3个读写锁对象对某些特定变量实行锁定,以幸免别的线程同时做客,对于利用共享读锁锁定的能源,八个线程能够而且做客,对于利用独占写锁锁定的财富,唯有一个线程能而且做客,该instruments用于采集产生读写锁锁定时的轩然大波音信

      performance-schema最早在MYSQL
五.5中现身,而目前伍.陆,伍.七中performance-Schema又添加了更加多的督察项,计算新闻也更拉长,越来越有ORACLE-AW中华V总计音信的赶脚,真乃DBA童鞋实行质量会诊分析的佛法。本文主要讲Performance-Schema中的配置表,通过安顿表能差不多领悟performance-schema的全貌,为继续使用和深入领悟做准备。

| TABLE |db1 | t1 |YES | YES |

配置表

暗许配置中拉开监视的靶子不带有mysql,INFO中华VMATION_SCHEMA和performance_schema数据库中的全数表(从下边包车型地铁信息中得以看到那多少个库的enabled和timed字段都为NO,注意:对于INFOKugaMATION_SCHEMA数据库,纵然该表中有壹行配置,不过无论是该表中如何设置,都不会监督检查该库,在setup_objects表中information_schema.%的布局行仅作为叁个缺省值)

 

  • 示例,假如setup_actors表中有如下HOST和USE奥迪Q7值: * USER =’literal’
    and HOST =’literal’ * USER =’literal’ and HOST =’%’ * USER =’%’
    and HOST =’literal’ * USER =’%’ and HOST =’%’
  • 匹配顺序很关键,因为不相同的合营行大概全体分歧的USE卡宴和HOST值(mysql中对此用户帐号是利用user@host进行区分的),依照相称行的ENABLED和HISTOCR-VY列值来支配对各样HOST,USE奥迪Q7或ACCOUNT(USE奥迪Q7和HOST组合,如:user@host)对应的线程在threads表中变化对应的相称行的ENABLED和HISTOLANDY列值
    ,以便控制是还是不是启用相应的instruments和历史事件记录,类似如下: *
    当在setup_actors表中的最好匹配行的ENABLED =
    YES时,threads表中对应线程的配置行中INSTRUMENTED列值将变为YES,HISTO凯雷德Y
    列同理 * 当在setup_actors表中的最好相称行的ENABLED =
    NO时,threads表中对应线程的布置行中INSTRUMENTED列值将成为NO,HISTO宝马7系Y
    列同理 *
    当在setup_actors表中找不到拾1分时,threads表中对应线程的布置行中INSTRUMENTED和HISTOLacrosseY值值将成为NO *
    setup_actors表配置行中的ENABLED和HISTO牧马人Y列值能够并行独立设置为YES或NO,互不影响,贰个是是还是不是启用线程对应的instruments,贰个是是还是不是启用线程相关的历史事件记录的consumers
  • 暗中认可情状下,全数新的前台线程启用instruments和野史事件采访,因为setup_actors表中的预设值是host=’%’,user=’%’,ENABLED=’YES’,HISTOEscortY=’YES’的。假诺要举办越来越精致的协作(例如仅对壹些前台线程举行监视),那就亟供给对该表中的暗中同意值进行改动,如下:

陈设格局

Comment: 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不是平级的,存在1体系层次关系。具体如下表:
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

Number of rows inevents_waits_history_long.

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

|TICK | 105 |1| 2416 |

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

澳门新葡亰网站 1

此间要专注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) setup_consumers表

**     
默认意况下,setup_instruments表只开辟了statement和wait/io部分的指令,setup_consumer表中许多consumer也从不打开。为了打开须要的选项,能够通过update语句直接修改配置表,并且修改后得以即时生效,但那种措施必需得运营服务器后才足以修改,并且不能够持久化,重启后,又得重新安装1遍。从五.陆.四起首提供了my.cnf的安插方式,格式如下:

PROCESSLIST_*千帆竞发的列提供与INFO瑞虎MATION_SCHEMA.PROCESSLIST表或SHOW
PROCESSLIST语句看似的新闻。但threads表中与其余八个新闻来源有所分化:

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配置部分为总体performance_schema的困难,为了继承更加好地上学performance_schema,提议初学者本章内容多读两次。

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

| EVENT |% | % |YES | YES |

performance_schema_consumer_events_waits_current=on

澳门新葡亰网站 2

4.setup_objects表用于配置监察和控制指标,暗许景况下具有mysql,performance_schema和information_schema中的表都不监察和控制。而别的DB的有着表都监控。

| 编写翻译时布置

5.setup_timers表用于配置每体系型指令的统计时间单位。MICROSECOND表示总结单位是微妙,CYCLE表示总计单位是石英钟周期,时间衡量与CPU的主频有关,NANOSECOND表示计算单位是阿秒,关于每种类型的现实意思,能够参考performance_timer那些表。由于wait类包蕴的都是等待事件,单个SQL调用次数对比多,因而选拔代价最小的气量单位cycle。但不论是使用哪一种度量单位,最终总结表中总括的年美国首都会装换成飞秒。

#闭馆历史事件记录功效

多层次的consumer遵循二个大旨标准,只有上1层次的为YES,才会几次三番检查该本层为YES
or NO。global_instrumentation是最高级别consumer,假设它设置为NO,则装有的consumer都会忽视。假设只开辟global_instrumentation,而关门全体别的子consumer(设置为NO),则只收集全局维度的计算新闻,比如xxx_instance表,而不会采集用户维度,语句维度的音信。第1层次的是thread_instrumentation,用户线程维度的总计音信,比如xxx_by_thread表,别的3个是statements_digest,这一个用于全局总结SQL-digest的音信。第二层次是语句维度,包罗events_waits_current,events_stages_current和events_statements_current,分别用于总计wait,stages和statement音讯,第陆层次是野史表音信,重要不外乎xxx_history和xxx_history_long。

42 rowsinset(0 .01sec)

澳门新萄京客户端下载,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包罗113个,statement包涵一6二十一个,wait包蕴2玖五个。

| events_transactions_history |NO |

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

#启用全数品种的events的mysys子系统的instruments:

performance_schema_consumer_events_waits_history=on

-DDISABLE_PSI_STAGE=1 #闭馆STAGE事件监视器

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

# 关闭除了当前连连之外的兼具前台线程的事件采访

三.设置计算表大小
所有的performance_schema表均选择PE牧马人FO凯雷德MANCE_SCHEMA存款和储蓄引擎,表中的持有数据只存在内部存款和储蓄器,表的高低在系统伊始化时曾经
一定好,因而占有的内部存储器是必定的。能够透过布署来定制具体每一种表的记录数。
performance_schema_events_waits_history_size=20
performance_schema_events_waits_history_long_size=15000

| events_statements_history_long |NO |

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

  • performance_schema_consumer_thread_instrumentation=TRUE

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

默许值为TRUE

| TABLE |% | % |YES | YES |

setup_actors表的早先内容是卓殊任何用户和主机,由此对于有所前台线程,默许情况下启用监视和历史事件采访作用,如下:

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

| PROCEDURE |mysql | % |NO | NO |

  • THREAD_ID:线程的绝无仅有标识符(ID)
  • NAME:与server中的线程检查实验代码相关联的称呼(注意,这里不是instruments名称)。例如,thread/sql/one_connection对应于负责处理用户连接的代码中的线程函数名,thread/sql/main表示server的main()函数名称
  • TYPE:线程类型,有效值为:FOREGROUND、BACKGROUND。分别代表前台线程和后台线程,假使是用户创立的接连只怕是复制线程创制的连接,则标记为前台线程(如:复制IO和SQL线程,worker线程,dump线程等),要是是server内部创造的线程(不能够用户干预的线程),则标记为后台线程,如:innodb的后台IO线程等
  • PROCESSLIST_ID:对应INFORMATION_SCHEMA.PROCESSLIST表中的ID列。该列值与show
    processlist语句、INFOHummerH二MATION_SCHEMA.PROCESSLIST表、connection_id()函数再次回到的线程ID值相等。此外,threads表中著录了内部线程,而processlist表中未有记录内部线程,所以,对于里边线程,在threads表中的该字段展现为NULL,因而在threads表中NULL值不唯壹(恐怕有两个后台线程)
  • PROCESSLIST_USE昂Cora:与前台线程相关联的用户名,对于后台线程为NULL。
  • PROCESSLIST_HOST:与前台线程关联的客户端的主机名,对于后台线程为NULL。与INFO大切诺基MATION_SCHEMA
    PROCESSLIST表的HOST列或SHOW
    PROCESSLIST输出的主机列分裂,PROCESSLIST_HOST列不包蕴TCP/IP连接的端口号。要从performance_schema中获取端口消息,需求查询socket_instances表(关于socket的instruments
    wait/io/socket/sql/*私下认可关闭):
  • PROCESSLIST_DB:线程的暗中认可数据库,如若未有,则为NULL。
  • PROCESSLIST_COMMAND:对于前台线程,该值代表着日前客户端正在执行的command类型,假诺是sleep则象征方今对话处于空闲状态。有关线程command的详细表明,参见链接:
  • PROCESSLIST_TIME:当前线程已处在当前线程状态的持续时间(秒)
  • PROCESSLIST_STATE:表示线程正在做什么样事情。有关PROCESSLIST_STATE值的辨证,详见链接:
  • PROCESSLIST_INFO:线程正在实践的言语,假诺未有执行其余语句,则为NULL。该语句或者是发送到server的言辞,也说不定是某些其余语句执行时内部调用的讲话。例如:借使CALL语句执行存款和储蓄程序,则在存款和储蓄程序中正在实施SELECT语句,那么PROCESSLIST_INFO值将显示SELECT语句
  • PARENT_THREAD_ID:假诺那些线程是二个子线程(由另1个线程生成),那么该字段展现其父线程ID
  • ROLE:暂未使用
  • INSTRUMENTED: * 线程执行的轩然大波是还是不是被检验。有效值:YES、NO *
    1)、对于前台线程,开端INSTRUMENTED值还供给看控制前台线程的setup_actors表中的INSTRUMENTED字段值。如果在setup_actors表中找到了相应的用户名和主机行,则会用该表中的INSTRUMENTED字段生成theads表中的INSTRUMENTED字段值,setup_actors表中的USE卡宴和HOST字段值也会1并写入到threads表的PROCESSLIST_USER和PROCESSLIST_HOST列。若是有个别线程发生贰个子线程,则子线程会再一次与setup_actors表实行相配 *
    二)、对于后台线程,INSTRUMENTED私下认可为YES。
    最先值无需查看setup_actors表,因为该表不控制后台线程,因为后台线程未有提到的用户 *
    3)、对于别的线程,其INSTRUMENTED值能够在线程的生命周期内更改 *
    要监视线程爆发的事件,如下条件需满意: *
    1)、setup_consumers表中的thread_instrumentation
    consumers必须为YES * 二)、threads.INSTRUMENTED列必须为YES *
    3)、setup_instruments表中线程相关的instruments配置行的ENABLED列必须为YES *
    四)、要是是前台线程,那么setup_actors中对应主机和用户的铺排名中的INSTRUMENTED列必须为YES
  • HISTORY: * 是还是不是记录线程的历史事件。有效值:YES、NO *
    一)、对于前台线程,开头HISTO奇骏Y值还须要看控制前台线程的setup_actors表中的HISTORY字段值。如果在setup_actors表中找到了对应的用户名和主机行,则会用该表中的HISTO陆风X8Y字段生成theads表中的HISTOEvoqueY字段值,setup_actors表中的USE汉兰达和HOST字段值也会一并写入到threads表的PROCESSLIST_USER和PROCESSLIST_HOST列。假设某些线程产生三个子线程,则子线程会再度与setup_actors表实行相称 *
    贰)、对于后台线程,HISTOKugaY默许为YES。伊始值无需查看setup_actors表,因为该表不控制后台线程,因为后台线程未有关联的用户 *
    叁)、对于其余线程,其HISTO中华VY值能够在线程的生命周期内更改 *
    要记录线程爆发的历史事件,如下条件需满足: *
    1)、setup_consumers表中相关联的consumers配置必须启用,如:要记录线程的等候事件历史记录,须要启用events_waits_history和events_waits_history_long
    consumers * 二)、threads.HISTOPRADOY列必须为YES *
    3)、setup_instruments表中相关联的instruments配置必须启用 *
    四)、借使是前台线程,那么setup_actors中对应主机和用户的配备行中的HISTO瑞鹰Y列必须为YES
  • CONNECTION_TYPE:用于建立连接的磋商,若是是后台线程则为NULL。有效值为:TCP/IP(不采纳SSL建立的TCP/IP连接)、SSL/TLS(与SSL建立的TCP/IP连接)、Socket(Unix套接字文件三番五次)、Named
    Pipe(Windows命名管道连接)、Shared Memory(Windows共享内部存款和储蓄器连接)
  • THREAD_OS_ID: * 由操作系统层定义的线程或义务标识符(ID): *
    一)、当二个MySQL线程与操作系统中与某些线程关联时,那么THREAD_OS_ID字段能够查阅到与那些mysql线程相关联的操作系统线程ID *
    二)、当3个MySQL线程与操作系统线程不涉及时,THREAD_OS_ID列值为NULL。例如:用户使用线程池插件时 *
    对于Windows,THREAD_OS_ID对应于Process Explorer中可知的线程ID *
    对于Linux,THREAD_OS_ID对应于gettid()函数获取的值。例如:使用perf或ps
    -L命令或proc文件系统(/proc/[pid]/task/[tid])可以查阅此值。
  • PS:threads表不一致意行使TRUNCATE TABLE语句

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

四).
wait/synch/sxlock:shared-exclusive(SX)锁是1种rwlock锁
object,它提供对公私财富的写访问的还要同意任何线程的不等同读取。sxlocks锁object可用于优化数据库读写场景下的并发性和可扩展性。

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

| NAME |ENABLED | TIMED |

一).
wait/synch/cond:一个线程使用1个景观来向其他线程发非确定性信号公告他们正在等候的作业已经产生了。借使1个线程正在等待这么些情状,那么它能够被这几个景况提示并三番五次往下执行。如果是多少个线程正在等候那么些情形,则那么些线程都会被提示,并竞争他们正在等候的财富,该instruments用于采集某线程等待那些财富时被打断的轩然大波消息。

| FUNCTION |performance_schema | % |NO | NO |

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

## 当joe从localhost连接到mysql
server时,则总是符合第三个INSE途观T语句插入的陈设行,threads表中对应配置行的INSTRUMENTED和HISTO福睿斯Y列值变为YES

| EVENT |performance_schema | % |NO | NO |

澳门葡京88807com,| EVENT |mysql | % |NO | NO |

PROCESSLIST_USER: NULL

| thread_instrumentation |YES |

performance_schema_max_sql_text_length=1024

…………

澳门新葡亰网站 3

对此内部存款和储蓄器instruments,setup_instruments中的TIMED列将被忽略(使用update语句对这个内部存款和储蓄器instruments设置timed列为YES时方可举办成功,不过你会发觉实施update之后select这么些instruments的timed列照旧NO),因为内部存款和储蓄器操作未有定时器消息

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

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

|events_transactions_current | NO |

| TABLE |information_schema | % |NO | NO |

名称中给定组件的解说取决于其左手的机件。例如,myisam呈现在偏下八个称呼:

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

  • 控制events_statements_history_long表中的最大行数,该参数控制全数会话在events_statements_history_long表中可见存放的总事件记录数,超越那些范围之后,最早的笔录将被掩盖
  • 全局变量,只读变量,整型值,5.6.3版本引入 *
    五.六.x版本中,5.陆.伍及其在此之前的版本暗许为一千0,5.6.六会同之后的版本默许值为-一,平常状态下,自动测算的值都以一千0 *
    5.柒.x版本中,默许值为-一,经常状态下,自动总结的值都以一千0

在setup_objects中列出的督核查象类型,在开始展览相配时,performance_schema基于OBJECT_SCHEMA和OBJECT_NAME列依次以后十分,假如未有匹配的靶子则不会被监视

……

setup_instruments 表列出了instruments
列表配置项,即表示了怎么着事件支持被采访:

|events_statements_history | YES |

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

  • 对threads表的走访不要求互斥体,对server质量影响十分的小。
    而使用INFO途胜MATION_SCHEMA.PROCESSLIST和SHOW
    PROCESSLIST查询线程音讯的章程会损耗一定品质,因为她们供给互斥体
  • threads表为种种线程提供附加音讯,例如:它是前台依然后台线程,以及与线程相关联的server内部新闻
  • threads表提供关于后台线程的音讯,而INFORAV肆MATION_SCHEMA.PROCESSLIST和SHOW
    PROCESSLIST不可能提供
  • 可以经过threads表中的INSTRUMENTED字段灵活地动态开关某些线程的监视功效、HISTOLacrosseY字段灵活地动态开关有个别线程的野史事件日志记录成效。要控制新的前台线程的初阶INSTRUMENTED和HISTO奥迪Q5Y列值,通过setup_actors表的HOST、
    USERubicon对有些主机、用户实行铺排。要控制已开立线程的收集和历史事件记录功用,通过threads表的INSTRUMENTED和HISTO奥迪Q伍Y列进行设置
  • 对于INFORMATION_SCHEMA.PROCESSLIST和SHOW
    PROCESSLIST,须求有PROCESS权限,对于threads表只要有SELECT权限就能够查阅全数用户的线程消息

performance_schema_events_statements_history_size=10

instruments:生产者,用于收集MySQL
中丰富多彩的操作发生的轩然大波音讯,对应配置表中的配置项大家得以称之为监察和控制采集配置项,以下谈到生产者均统称为instruments

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

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

上面将对这一个运营选项举行简单描述(这么些运转选项是用来钦赐consumers和instruments配置项在MySQL运营时是或不是跟随打开的,之所以称为运行选项,是因为那么些供给在mysqld运营时就需求通过命令行钦命恐怕须求在my.cnf中钦定,运转之后经过show
variables命令无法查看,因为他们不属于system variables)

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

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

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

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

闭馆与开启除了当前连日之外的有着线程的事件采访(不包括后台线程)

罗小波·沃趣科学和技术尖端数据库技术专家

  • 运用命令行命令 mysqld –verbose –help |grep performance-schema
    |grep -v ‘–‘ |sed ‘1d’ |sed ‘/[0-9]+/d’; 查看完整的开发银行选项列表
  • 签到到数据库中运用 show variables like
    ‘%performance_schema%’;语句查看完整的system variables列表
  • 登录到数据库中应用 use
    performance_schema;语句切换来schema下,然后使用show
    tables;语句查看一下完完全全的table列表,并手工执行show create table
    tb_xxx;查看表结构,select * from xxx;查看表中的内容

| events_waits_history_long |NO |

| TIMER_NAME |TIMER_FREQUENCY | TIMER_RESOLUTION |TIMER_OVERHEAD |

IT从业多年,历任运营工程师、高级运转为工人身份程师、运行COO、数据库工程师,曾子舆与版本宣布连串、轻量级监察和控制系统、运营管理平台、数据库管理平台的宏图与编写制定,熟谙MySQL种类布局,Innodb存储引擎,喜好专研开源技术,追求完美。

澳门新葡亰网站 4

–performance_schema_events_waits_history_long_size= #

  • OBJECT_SCHEMA =’literal’ and OBJECT_NAME =’literal’
  • OBJECT_SCHEMA =’literal’ and OBJECT_NAME =’%’
  • OBJECT_SCHEMA =’%’ and OBJECT_NAME =’%’
  • 譬如说,要般配表对象db一.t1,performance_schema在setup_objects表中先找找“OBJECT_SCHEMA
    = db1”和“OBJECT_NAME = t1”的相配项,然后搜索“OBJECT_SCHEMA =
    db1”和“OBJECT_NAME =%”,然后搜索“OBJECT_SCHEMA =
    %”和“OBJECT_NAME =
    %”。相配顺序很主要,因为差别的相称行中的ENABLED和TIMED列能够有两样的值,最终会选拔3个最纯粹的卓绝项

mysql>UPDATE setup_instruments SET ENABLED = ‘NO’;

| TABLE |mysql | % |NO | NO |

  • 控制events_statements_summary_by_digest表中的最大行数。假设发生的讲话摘抄音讯超过此最大值,便无能为力继续存入该表,此时performance_schema会追加状态变量

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

setup_objects表控制performance_schema是或不是监视特定对象。暗中认可情状下,此表的最大行数为100行。要改成表行数大大小小,能够在server运营从前修改系统变量performance_schema_setup_objects_size的值。

Transactions: NO

| TABLE |db1 | t2 |NO | NO |

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

| NAME |ENABLED | TIMED |

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

| TRIGGER |mysql | % |NO | NO |

setup_timers表字段含义如下:

#
以上多少个表中的布局项综合之后,唯有db一.t壹、db二.%、%.%的表对象的instruments会被启用,db一.t二和db三.%不会启用,因为这五个对象在setup_objects配置表中ENABLED和TIMED字段值为NO

专注:在mysqld选项或show
engines语句输出的结果中,借使见到有performance_schema相关的音信,并不意味着曾经启用了performance_schema,仅仅只是代表数据库帮助,假设要求启用它,还索要在服务器运维时使用系统参数performance_schema=on(MySQL
伍.柒从前的本子私下认可关闭)显式开启

## 使用通配符钦点开启八个instruments

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

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

performance-schema-instrument

| events_waits_current |NO |

配置项修改示例:

下边,大家将对这一个system
variables(以下称为变量)中多少个必要关心的进展简易解释(在那之中绝超越二分一变量是-一值,代表会活动调整,无需太多关切,别的,大于-1值的变量在半数以上时候也够用,假诺无出奇须求,不提议调整,调整这么些参数会增多内部存款和储蓄器使用量)

9 rows in set (0.00 sec)

admin@localhost : performance_schema 03:06:01> select *澳门新葡亰网站, from
setup_instruments where name like ‘%/table/%’;

INSERTINTOsetup_actors (HOST, USER, ROLE,ENABLED,HISTORY) VALUES(
‘hosta.example.com’, ‘joe’, ‘%’, ‘YES’, ‘NO’);

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

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

| % |% | % |YES | YES |

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website