《MySQL Performance schema設(shè)置的一些建議選項》要點:
本文介紹了MySQL Performance schema設(shè)置的一些建議選項,希望對您有用。如果有疑問,可以聯(lián)系我們。
MySQL?的Performance?Schema由來已久,但由于內(nèi)存消耗,性能影響等原因,導(dǎo)致其始終無法進入主流的MySQL默認(rèn)配置,對MySQL的問題診斷以及處理造成很多不利的影響.
一般而言,Performance?Schema會對性能造成影響,比如row?mutex的位置.實際上,MySQL經(jīng)常出現(xiàn)問題的地方,很多時候是在Server層,在這一層,很多Performance?Schema的設(shè)置并不會導(dǎo)致性能的下降(或者明顯下降).
下文為總結(jié)出來的,推薦開啟的Performance?Schema選項,開啟方式為update?performance_schema.setup_instruments?set?enable=’yes’?where?name=’xxx’.?
#?MDL
MySQL?最著名的Server層鎖之一,MDL鎖管理著表結(jié)構(gòu)變更的臨界點,常常會遇到,alter?表的時候,發(fā)現(xiàn)需要等待,但偏偏發(fā)現(xiàn)不了是誰持有.
name?like?‘%mdl%’
#?Variables?
MySQL操作set?global?variable的時候,有時候發(fā)現(xiàn)等待時間比較長的時候,會不會心里發(fā)涼?推薦打開.
name?like?‘%variables%’
#?Slave?
主從結(jié)構(gòu)下,Slave依賴的IO以及SQL,以及Master信息之間,有一套精密的鎖結(jié)構(gòu)保障安全,如果受到干擾,就會容易出現(xiàn)嚴(yán)重的復(fù)制故障.
name?like?‘%Master_info%’
name?like?‘%Relay_log_info%’
##?Alter?相關(guān)
alter作為低頻但重要操作,沒有保障的執(zhí)行,是非常危險的一種情況.
name?like?‘%alter%’
以下情況,先參考下當(dāng)前數(shù)據(jù)的以下變量,之后操作:
些值直接關(guān)系到Performacne?Schema的內(nèi)存占用大小.
update?performance_schema.setup_instruments?set?enable=’yes’?where?name?like?‘xxx%’
##?SQL語句系列
以statement/sql以及statement/com代表的系列,如果認(rèn)為需要打開,可以全部打開,會存儲所有執(zhí)行的SQL語句,上限為前面所定,其中也加入了一部分執(zhí)行計劃的相關(guān)信息.
##?SQL執(zhí)行系列?
以stage/sql/代表的系列,記錄SQL執(zhí)行的每一個階段,是MySQL僅有的,在SQL運行完成后,一定程度上追查SQL執(zhí)行計劃的方式,
##?文件IO系列
wait/io代表的的系列,直接看具體文件IO的狀況,在高負(fù)載數(shù)據(jù)庫的診斷中,是作用相當(dāng)大的設(shè)置.
Performance?Schema作為MySQL推廣已久的性能判斷框架,如果足夠信任的話,放大招?update?performance_schema.setup_instruments?set?enable=’yes’?,直接打開所有Performance?Schema的可用選項,對性能有較大影響,不推薦全部打開.
作者:劉偉
文章來自微信公眾號:數(shù)據(jù)和云
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/4225.html