select from information_schema.processlist where INFO is not null and INFO not like 'select from information_schema.processlist%' order by time,db \G
用來查看一些執行時間比較長的sql,根據執行時間遞增排序
show engine innodb status\G
可以用來查看死鎖,事務執行狀態,鎖等待等信息
userstat相關監控命令:
flush USER_STATISTICS;
flush TABLE_STATISTICS;
set global long_query_time=0;
flush logs;
show processlist;
select from information_schema.USER_STATISTICS where user not in('admin',,'monitor','#mysql_system#')\G
select from information_schema.TABLE_STATISTICS where table_name not in ('mysql','db')\G
數據庫延遲處理:
1.數據庫延遲情況可能如下:a.主庫執行一個大的修改數據的SQL導致;b.主庫并發寫入量突增;c.從庫上的查詢或者其它操作導致磁盤io或者cpu瓶頸或者鎖;d.從庫硬件問題導致性能很低
2.處理:
a.讓研發知曉情況,并建議將大的操作拆成小的操作,避免再次出現
b.如果經常出現,因主從不可以擴展寫,那就找RD溝通確認,業務上不能控制寫入的話,就準備拆庫操作
c.通知RD相關情況,如果是必須的sql,可以講這些sql放到專門的統計庫上執行,調高報警閾值解決,否則讓研發拆分或者下線sql。如果是鎖例如是MDL,這需要kill掉相應的查詢后釋放鎖來解決。
d.如果還有從庫,可以考慮停機修復該從庫,如果沒有,需要緊急重新部署一臺新從庫后進行修理
殺掉匹配某個sql的連接
pt-kill --match-command Query --busy-time 5 --host dbxx --port 5002 --interval --print --kill --victims all --match-info="select distinct(Issue_label)"
殺掉正在進行filesort的sql
pt-kill --match-command Query --match-state "Sorting result" --busy-time 5 --host *.*.. --port 5002 --interval 2 --print --kill --victims all -uduzq -p
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。