MySQL5.7中 performance和sys schema中的監(jiān)控參數(shù)解釋(推薦)
1、performance schema:介紹
在MySQL5.7中,performance schema有很大改進,包括引入大量新加入的監(jiān)控項、降低占用空間和負載,以及通過新的sys schema機制顯著提升易用性。在監(jiān)控方面,performance schema有如下功能:
①:元數(shù)據(jù)鎖:
對于了解會話之間元數(shù)據(jù)鎖的依賴關系至關重要。從MySQL5.7.3開始,就可以通過metadata_locks表來了解元數(shù)據(jù)鎖的相關信息;
--哪些會話擁有哪些元數(shù)據(jù)鎖
--哪些會話正在等待元數(shù)據(jù)鎖
--哪些請求由于死鎖被殺掉,或者鎖等待超時而被放棄
②:進度跟蹤:
跟蹤長時間操作的進度(比如alter table),從MySQL5.7.7開始,performance schema自動提供了語句進度信息。我們可以通過events_stages_current表來查看當前事件的進度信息;
③:事務:
監(jiān)控服務層和存儲引擎層事務的全部方面。從MySQL5.7.3開始,新增了 events_transactions_current表,可以通過setup_consumers、setup_instruments表打開事務監(jiān)控,通過該表查詢到當前事務的狀態(tài)。如果線上數(shù)據(jù)庫遇到undo log大量增長、數(shù)據(jù)庫性能急劇下降的情況,可以通過該表查詢當前是否存在處于未提交狀態(tài)的事務。如果發(fā)現(xiàn)的確有大量事務的state處于active,這時可以確定數(shù)據(jù)庫有大量的事務未提交;
④:內(nèi)存使用:
提供內(nèi)存使用信息統(tǒng)計,有利于了解和調(diào)整服務器的內(nèi)存消耗。從MySQL5.7.2開始,performance schema新增內(nèi)存有關的統(tǒng)計信息,分別從賬戶、訪問主機、線程、用戶及事件的角度統(tǒng)計了內(nèi)存的使用過程;
⑤:存儲程序:
存儲過程、存儲方法、事件調(diào)度器和表觸發(fā)器的檢測器。在MySQL5.7中的setup_objects表中,新增了event、function、procedure、trigger的檢測器。performance schema用于檢測該表中匹配object_schema和object_name的對象;
2、sys schema介紹:
在MySQL5.7中新增的sys schema。是由一系列對象(視圖、存儲過程、存儲方法、表和觸發(fā)器)組成的schema,它本身不采集和存儲什么信息,而是將performance_schema 和 information_schema中的數(shù)據(jù)以更容易理解的方式總結出來歸納為“視圖”。
---sys schema可用于典型的調(diào)優(yōu)和診斷用例,這些對象包括如下三個:
①:將性能模式數(shù)據(jù)匯總到更容易理解的視圖;
②:諸如性能模式配置和生成診斷報告等操作的存儲過程
③:用于查詢性能模式配置并提供格式化服務的存儲函數(shù)
---sys schema在查詢中的功能,可以查看數(shù)據(jù)庫服務資源的使用情況?哪些主機對數(shù)據(jù)庫服務器的訪問量最大?實例上的內(nèi)存使用情況?
3、sys schema里面的表的分類:
①:主機相關信息:
以host_summary開頭的視圖,主要匯總了IO延遲的信息,從主機、文件事件類型、語句類型等角度展示文件IO的信息;
②:innodb相關信息:
以innodb開頭的視圖,匯總了innodb buffer page信息和事務等待innodb鎖信息;
③:IO使用情況:
以IO開頭的視圖,總結了IO使用者的信息,包括等待IO的情況、IO使用量情況,從各個角度分組展示;
④:內(nèi)存使用情況:
以memory開頭的視圖,從主機、線程、用戶、事件角度展示內(nèi)存使用情況;
⑤:連接與會話信息:
其中,processlist 和 session相關的視圖,總結了會話相關的信息;
⑥:表相關信息:
以schema_table開頭的視圖,從全表掃描、innodb緩沖池等方面展示了表統(tǒng)計信息;
⑦:索引信息:
其中包含index的視圖,統(tǒng)計了索引使用的情況,以及重復索引和未使用的索引情況;
⑧:語句相關信息:
以statement開頭的視圖,統(tǒng)計的規(guī)范化后的語句使用情況,包括錯誤數(shù)、警告數(shù)、執(zhí)行全表掃描的、使用臨時表、執(zhí)行排序等信息;
⑨:用戶相關信息:
以user開頭的視圖,統(tǒng)計了用戶使用的文件IO,執(zhí)行的語句統(tǒng)計信息等;
⑨:等待事件相關信息
:
以wait開頭的視圖,從主機和事件角度展示等待類事件的延遲情況;
4、sys schema使用列子:
---查看表的訪問量:(可以監(jiān)控每張表訪問量的情況,或者監(jiān)控某個庫的訪問量的變化) select table_schema,table_name,sum(io_read_requests+io_write_requests) from schema_table_statistics; select table_schema,table_name,io_read_requests+io_write_requests as io_total from schema_table_statistics; ---冗余索引和未使用索引的檢查:(schema_redundant_indexes和schema_unused_indexes查看索引的情況) select * from sys.schema_redundant_indexes\G select * from sys.schema_unused_indexes; (如果有冗余索引和長期未使用的索引,應該及時清理,) ---查看表自增ID使用情況: select * from schema_auto_increment_columns\G (可以使用schema_auto_increment_columns視圖,就能很簡單的查到每個表的自增量使用情況,甚至可以精確到某個表的自增量情況) ---監(jiān)控全表掃描的sql語句: select * from sys.statements_with_full_table_scans where db='test2'\G (使用statements_with_full_table_scans視圖可以查看哪些表查詢使用了全表掃描,其中exec_count是執(zhí)行的次數(shù),等信息) ---查看實例消耗的磁盤I/O情況:() select file,avg_read+avg_write as avg_io from io_global_by_file_by_bytes order by avg_io desc limit 10; (查看io_global_by_file_by_bytes視圖可以檢查磁盤I/O消耗過大的原因,定位問題)
總結
以上所述是小編給大家介紹的MySQL5.7中 performance和sys schema中的監(jiān)控參數(shù)解釋,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
SQL實現(xiàn)LeetCode(183.從未下單訂購的顧客)
這篇文章主要介紹了SQL實現(xiàn)LeetCode(182.從未下單訂購的顧客),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08
mysql 獲取當前日期函數(shù)及時間格式化參數(shù)詳解
這篇文章主要介紹了mysql 獲取當前日期函數(shù)now()及時間格式化DATE_FROMAT函數(shù)以及參數(shù)詳細介紹,需要的朋友可以參考下2014-08-08
mysql 5.7.17 安裝配置方法圖文教程(CentOS7)
這篇文章主要為大家詳細介紹了CentOS7下mysql 5.7.17 安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下2016-12-12
Linux下MySQL數(shù)據(jù)庫的主從同步復制配置
這篇文章主要介紹了Linux下MySQL數(shù)據(jù)庫的主從同步配置,2017-11-11
IDEA鏈接MySQL報錯08001和連接成功后不顯示表的問題及解決方法
這篇文章主要介紹了IDEA鏈接MySQL報錯08001和連接成功后不顯示表的問題及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10

