91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Performance Schema怎么用

發布時間:2021-11-03 09:33:41 來源:億速云 閱讀:167 作者:小新 欄目:MySQL數據庫

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

Performance Schema簡介

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


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

Performance Schema開啟方式

  • 設置instruments及consumers開啟 

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


instruments通俗講就是監控項可以通過setup_instruments表設置需要開啟對哪些項監控進行統計 

consumers就是控制是否將監控到的結果進行記錄

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

UPDATE setup_consumers SET ENABLED = 'YES';

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

當然我們也可以單獨設置某一個instruments的開啟和關閉

UPDATE setup_instruments SET ENABLED = 'NO'

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

為了防止重啟后恢復默認配置可以添加到配置文件中設置

performance-schema-instrument='instrument_name=value'

performance-schema-consumer-consumer_name=value 

instrument_name和consumer_name

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

setup_consumers中的層級關系

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

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

如果global_instrumentation沒有被設置則對應的表中都不會記錄任何信息。

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

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版本)。 

具體的解釋大家可以在官網中查看:

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;

<ul class="list-paddingleft-2" font-size:16px;white-space:normal;background-color:#FFFFFF;box-sizing:border-box !important;">

  • 查看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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荥经县| 亳州市| 双柏县| 德格县| 河津市| 延长县| 青神县| 顺昌县| 金华市| 宜君县| 武穴市| 方山县| 新源县| 遂平县| 时尚| 杭锦后旗| 德昌县| 长兴县| 合肥市| 黄陵县| 顺义区| 高清| 昌吉市| 卓资县| 双城市| 海盐县| 高淳县| 大兴区| 治多县| 南岸区| 长葛市| 香河县| 成都市| 建德市| 汽车| 仁化县| 卓资县| 广西| 漳浦县| 舟曲县| 阿鲁科尔沁旗|