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