pt-kill 用法記錄


pt-kill 用法記錄

 

# 參考資料
Percona-Toolkit系列之pt-kill殺會話利器
http://www.fordba.com/percona-toolkit-pt-kill.html

1.pt-kill



生產環境中我們時常遇到這樣的情況,數據庫性能惡劣,需要馬上殺掉全部會話,不然數據庫就掛起來。我們可以先找show processlist的輸出來殺會話,但是比較麻煩。pt-kill為我們解決了殺會話問題。

2.常用殺會話場景

-- 1、每10秒檢查一次,發現有 Query 的進程就給干掉
# 只打印-每10秒檢查一次,發現有 Query 的進程就給干掉
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-command="Query" --busy-time 30 --victims all --interval 10 --daemonize  --print --log=/tmp/1.log
# 執行殺操作
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-command="Query" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/kill.log
-- 2、查殺select大於30s的會話
# 只打印-查殺select大於30s的會話
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-info "select|SELECT" --busy-time 30 --victims all --interval 10 --daemonize  --print --log=/tmp/pt_select.log
# 執行殺操作-查殺select大於30s的會話
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-info "select|SELECT" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log
-- 3、查殺某IP來源的會話
# 只打印-查殺某IP來源的會話
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-host "192.168.65.129" --busy-time 30 --victims all --interval 10 --daemonize  --print --log=/tmp/pt_select.log
# 執行殺操作-查殺某IP來源的會話
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-host "192.168.65.129" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log
-- 4、查殺訪問某用戶的會話
# 只打印-查殺訪問某用戶的會話
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-user "u2" --busy-time 30 --victims all --interval 10 --daemonize  --print --log=/tmp/pt_select.log
# 執行殺操作-查殺訪問某用戶的會話
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-user "u2" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log
-- 5、殺掉正在進行filesort的sql
# 只打印-殺掉正在進行filesort的sql
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-command Query --match-state "Sorting result"  --run-time 1 --busy-time 30 --victims all --interval 10 --daemonize  --print --log=/tmp/pt_select.log
# 執行殺操作-殺掉正在進行filesort的sql
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-command Query --match-state "Sorting result"  --run-time 1 --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log


# 只打印
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-command Query --match-state "Creating sort index"  --run-time 1 --busy-time 30 --victims all --interval 10 --daemonize  --print --log=/tmp/pt_select.log
# 執行殺操作
pt-kill --host=192.168.65.128 --port=3306 --user=root --password=rootpwd  --match-db='db222'  --match-command Query --match-state "Creating sort index"  --run-time 1 --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM