《Mysql學(xué)習(xí)MySQL5.7中 performance和sys schema中的監(jiān)控參數(shù)解釋(推薦)》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)MySQL5.7中 performance和sys schema中的監(jiān)控參數(shù)解釋(推薦),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
1、performance schema:介紹MYSQL實(shí)例
?? 在MySQL5.7中,performance schema有很大改進(jìn),包括引入大量新加入的監(jiān)控項(xiàng)、降低占用空間和負(fù)載,以及通過(guò)新的sys schema機(jī)制顯著提升易用性.在監(jiān)控方面,performance schema有如下功能:MYSQL實(shí)例
①:元數(shù)據(jù)鎖:MYSQL實(shí)例
? 對(duì)于了解會(huì)話之間元數(shù)據(jù)鎖的依賴關(guān)系至關(guān)重要.從MySQL5.7.3開(kāi)始,就可以通過(guò)metadata_locks表來(lái)了解元數(shù)據(jù)鎖的相關(guān)信息;MYSQL實(shí)例
?? --哪些會(huì)話擁有哪些元數(shù)據(jù)鎖
?? --哪些會(huì)話正在等待元數(shù)據(jù)鎖
?? --哪些請(qǐng)求由于死鎖被殺掉,或者鎖等待超時(shí)而被放棄MYSQL實(shí)例
②:進(jìn)度跟蹤:MYSQL實(shí)例
? 跟蹤長(zhǎng)時(shí)間操作的進(jìn)度(比如alter table),從MySQL5.7.7開(kāi)始,performance schema自動(dòng)提供了語(yǔ)句進(jìn)度信息.我們可以通過(guò)events_stages_current表來(lái)查看當(dāng)前事件的進(jìn)度信息;MYSQL實(shí)例
③:事務(wù):MYSQL實(shí)例
? 監(jiān)控服務(wù)層和存儲(chǔ)引擎層事務(wù)的全部方面.從MySQL5.7.3開(kāi)始,新增了 events_transactions_current表,可以通過(guò)setup_consumers、setup_instruments表打開(kāi)事務(wù)監(jiān)控,通過(guò)該表查詢到當(dāng)前事務(wù)的狀態(tài).如果線上數(shù)據(jù)庫(kù)遇到undo log大量增長(zhǎng)、數(shù)據(jù)庫(kù)性能急劇下降的情況,可以通過(guò)該表查詢當(dāng)前是否存在處于未提交狀態(tài)的事務(wù).如果發(fā)現(xiàn)的確有大量事務(wù)的state處于active,這時(shí)可以確定數(shù)據(jù)庫(kù)有大量的事務(wù)未提交;MYSQL實(shí)例
④:內(nèi)存使用:MYSQL實(shí)例
? 提供內(nèi)存使用信息統(tǒng)計(jì),有利于了解和調(diào)整服務(wù)器的內(nèi)存消耗.從MySQL5.7.2開(kāi)始,performance schema新增內(nèi)存有關(guān)的統(tǒng)計(jì)信息,分別從賬戶、訪問(wèn)主機(jī)、線程、用戶及事件的角度統(tǒng)計(jì)了內(nèi)存的使用過(guò)程;MYSQL實(shí)例
⑤:存儲(chǔ)程序:MYSQL實(shí)例
? 存儲(chǔ)過(guò)程、存儲(chǔ)方法、事件調(diào)度器和表觸發(fā)器的檢測(cè)器.在MySQL5.7中的setup_objects表中,新增了event、function、procedure、trigger的檢測(cè)器.performance schema用于檢測(cè)該表中匹配object_schema和object_name的對(duì)象;
MYSQL實(shí)例
2、sys schema介紹:MYSQL實(shí)例
? 在MySQL5.7中新增的sys schema.是由一系列對(duì)象(視圖、存儲(chǔ)過(guò)程、存儲(chǔ)方法、表和觸發(fā)器)組成的schema,它本身不采集和存儲(chǔ)什么信息,而是將performance_schema 和 information_schema中的數(shù)據(jù)以更容易理解的方式總結(jié)出來(lái)歸納為“視圖”.MYSQL實(shí)例
---sys schema可用于典型的調(diào)優(yōu)和診斷用例,這些對(duì)象包括如下三個(gè):MYSQL實(shí)例
①:將性能模式數(shù)據(jù)匯總到更容易理解的視圖;MYSQL實(shí)例
②:諸如性能模式配置和生成診斷報(bào)告等操作的存儲(chǔ)過(guò)程MYSQL實(shí)例
③:用于查詢性能模式配置并提供格式化服務(wù)的存儲(chǔ)函數(shù)MYSQL實(shí)例
---sys schema在查詢中的功能,可以查看數(shù)據(jù)庫(kù)服務(wù)資源的使用情況?哪些主機(jī)對(duì)數(shù)據(jù)庫(kù)服務(wù)器的訪問(wèn)量最大?實(shí)例上的內(nèi)存使用情況?MYSQL實(shí)例
3、sys schema里面的表的分類:MYSQL實(shí)例
①:主機(jī)相關(guān)信息:MYSQL實(shí)例
?? 以host_summary開(kāi)頭的視圖,主要匯總了IO延遲的信息,從主機(jī)、文件事件類型、語(yǔ)句類型等角度展示文件IO的信息;MYSQL實(shí)例
②:innodb相關(guān)信息:MYSQL實(shí)例
?? 以innodb開(kāi)頭的視圖,匯總了innodb buffer page信息和事務(wù)等待innodb鎖信息;MYSQL實(shí)例
③:IO使用情況:MYSQL實(shí)例
?? 以IO開(kāi)頭的視圖,總結(jié)了IO使用者的信息,包括等待IO的情況、IO使用量情況,從各個(gè)角度分組展示;MYSQL實(shí)例
④:內(nèi)存使用情況:MYSQL實(shí)例
?? 以memory開(kāi)頭的視圖,從主機(jī)、線程、用戶、事件角度展示內(nèi)存使用情況;MYSQL實(shí)例
⑤:連接與會(huì)話信息:MYSQL實(shí)例
?? 其中,processlist 和 session相關(guān)的視圖,總結(jié)了會(huì)話相關(guān)的信息;MYSQL實(shí)例
⑥:表相關(guān)信息:MYSQL實(shí)例
?? 以schema_table開(kāi)頭的視圖,從全表掃描、innodb緩沖池等方面展示了表統(tǒng)計(jì)信息;MYSQL實(shí)例
⑦:索引信息:MYSQL實(shí)例
?? 其中包含index的視圖,統(tǒng)計(jì)了索引使用的情況,以及重復(fù)索引和未使用的索引情況;MYSQL實(shí)例
⑧:語(yǔ)句相關(guān)信息:MYSQL實(shí)例
?? 以statement開(kāi)頭的視圖,統(tǒng)計(jì)的規(guī)范化后的語(yǔ)句使用情況,包括錯(cuò)誤數(shù)、警告數(shù)、執(zhí)行全表掃描的、使用臨時(shí)表、執(zhí)行排序等信息;
⑨:用戶相關(guān)信息:MYSQL實(shí)例
?? 以u(píng)ser開(kāi)頭的視圖,統(tǒng)計(jì)了用戶使用的文件IO,執(zhí)行的語(yǔ)句統(tǒng)計(jì)信息等;MYSQL實(shí)例
⑨:等待事件相關(guān)信息
:
MYSQL實(shí)例
?? 以wait開(kāi)頭的視圖,從主機(jī)和事件角度展示等待類事件的延遲情況;MYSQL實(shí)例
4、sys? schema使用列子:MYSQL實(shí)例
---查看表的訪問(wèn)量:(可以監(jiān)控每張表訪問(wèn)量的情況,或者監(jiān)控某個(gè)庫(kù)的訪問(wè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; (如果有冗余索引和長(zhǎng)期未使用的索引,應(yīng)該及時(shí)清理,) ---查看表自增ID使用情況: select * from schema_auto_increment_columns\G (可以使用schema_auto_increment_columns視圖,就能很簡(jiǎn)單的查到每個(gè)表的自增量使用情況,甚至可以精確到某個(gè)表的自增量情況) ---監(jiān)控全表掃描的sql語(yǔ)句: select * from sys.statements_with_full_table_scans where db='test2'\G (使用statements_with_full_table_scans視圖可以查看哪些表查詢使用了全表掃描,其中exec_count是執(zhí)行的次數(shù),等信息) ---查看實(shí)例消耗的磁盤(pán)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視圖可以檢查磁盤(pán)I/O消耗過(guò)大的原因,定位問(wèn)題)
總結(jié)MYSQL實(shí)例
以上所述是小編給大家介紹的MySQL5.7中 performance和sys schema中的監(jiān)控參數(shù)解釋,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的.在此也非常感謝大家對(duì)維易PHP網(wǎng)站的支持!MYSQL實(shí)例
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/5524.html