真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PerformanceSchema怎么用

這篇文章將為大家詳細講解有關(guān)Performance Schema怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司擁有十年成都網(wǎng)站建設(shè)工作經(jīng)驗,為各大企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)服務(wù),對于網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、重慶App定制開發(fā)、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、域名注冊等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等網(wǎng)站化運作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項目的能力。

Performance Schema簡介

Oracle DBA都應(yīng)該知道 Oracle中提供了大量的視圖供DBA們排查問題使用,并且有等待事件幫助大家快速定位問題屬于哪一類。MySQL 中也有Performance Schema幫助大家去分析排查問題,并且在5.7中增加了Sys Schema,將Performance Schema和information_schema的信息格式化后,供大家更方便的分析問題。 


這里先介紹先Performance Schema的使用方式,便于后面大家更好的去使用Sys Schema。

Performance Schema開啟方式

  • 設(shè)置instruments及consumers開啟 

開啟performance_schema=on之后我們還需要進行設(shè)置instruments及consumers 


instruments通俗講就是監(jiān)控項可以通過setup_instruments表設(shè)置需要開啟對哪些項監(jiān)控進行統(tǒng)計 

consumers就是控制是否將監(jiān)控到的結(jié)果進行記錄

UPDATE setup_instruments SET ENABLED = 'YES', TIMED = 'YES';

UPDATE setup_consumers SET ENABLED = 'YES';

如果不開啟instruments和consumers則相應(yīng)的事件檢測則不能使用,也就不能收集相應(yīng)的等待事件和性能的統(tǒng)計。 

當然我們也可以單獨設(shè)置某一個instruments的開啟和關(guān)閉

UPDATE setup_instruments SET ENABLED = 'NO'

WHERE NAME = 'wait/io/file/sql/binlog';

為了防止重啟后恢復(fù)默認配置可以添加到配置文件中設(shè)置

performance-schema-instrument='instrument_name=value'

performance-schema-consumer-consumer_name=value 

instrument_name和consumer_name

可以通過查詢setup_instruments和setup_consumers;查看

setup_consumers中的層級關(guān)系

mysql> select * from setup_consumers;

+--------------------------------+---------+
| NAME                           | ENABLED |
+--------------------------------+---------+
| events_stages_current          | YES     |
| events_stages_history          | YES     |
| events_stages_history_long     | YES     |
| events_statements_current      | YES     |
| events_statements_history      | YES     |
| events_statements_history_long | YES     |
| events_waits_current           | YES     |
| events_waits_history           | YES     |
| events_waits_history_long      | YES     |
| global_instrumentation         | YES     |
| thread_instrumentation         | YES     |
| statements_digest              | YES     |
+--------------------------------+---------+

12 rows in set (0.00 sec)

setup_consumers中的事件表有層級之分 ,我們可以通過上面看到有 global、thread、current、history、history_long,他們之間的層級如下:

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

也就是說,如果設(shè)置了global的才會去檢查thread的有沒有被設(shè)置,如果thread的設(shè)置了才會去檢查current的有沒有被設(shè)置,如果global的沒有被設(shè)置則thread和current都不去檢查,相應(yīng)的信息也不會記錄到對應(yīng)的表中。 

如果global_instrumentation沒有被設(shè)置則對應(yīng)的表中都不會記錄任何信息。

 
這里的history、history_long可以通過參數(shù)設(shè)置大小,因為是內(nèi)存表,如果太大會占用很多內(nèi)存。

setup_instruments中的類型

mysql> select name,count(*) from setup_instruments group by left(name,5);

+---------------------------------+----------+
| name                            | count(*) |
+---------------------------------+----------+
| idle                            |        1 |
| stage/sql/After create          |      108 |
| statement/sql/select            |      168 |
| wait/synch/mutex/sql/PAGE::lock |      279 |
+---------------------------------+----------+

4 rows in set (0.00 sec)

我們可以看到setup_instruments中的類型有四種(5.6版本)。 

具體的解釋大家可以在官網(wǎng)中查看:

https://dev.mysql.com/doc/refman/5.6/en/performance-schema-instrument-naming.html

簡單使用介紹

簡單介紹幾個語句用于排查SQL語句的效率

  • 查看哪些索引沒有被使用過

SELECT

OBJECT_SCHEMA,
OBJECT_NAME,
INDEX_NAME
FROM table_io_waits_summary_by_index_usage
WHERE INDEX_NAME IS NOT NULL
AND COUNT_STAR = 0
AND OBJECT_SCHEMA <> 'mysql'

ORDER BY OBJECT_SCHEMA,OBJECT_NAME;

    • 查看SQL語句在哪個階段消耗最大

    SELECT eshl.event_name, sql_text, eshl.timer_wait/1000000000000 w_s

    FROM performance_schema.events_stages_history_long eshl
    JOIN performance_schema.events_statements_history_long esthl
    ON (eshl.nesting_event_id = esthl.event_id)

    WHERE eshl.timer_wait > 1*10000000000\G

    關(guān)于“Performance Schema怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


    當前名稱:PerformanceSchema怎么用
    當前鏈接:http://weahome.cn/article/gcdhio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部