percona 實用工具之pt-kill使用介紹
pt-kill 是一個優秀的kill MySQL連線的一個工具,是percona toolkit的一部分,在因為空閒連線較多導致超過最大連線數、某個有問題的sql導致mysql負載很高時,都需要將一些連線kill掉,這個工具主要就是這個用途。
從show processlist 中獲取滿足條件的連線或者從包含show processlist的檔案中讀取滿足條件的連線並列印或者殺掉或者執行其他操作,這個工具在工作中實用性很高,當伺服器連線出現異常後第一想到的就是pt-kill,自己寫一個指令碼也可以,但是功能還是沒有pt-kill強大;一般我喜歡將連線本地MySQL的必要資訊放在一個檔案檔案中,當需要連線本地mysql時直接指定配置檔案即可;
常用功能介紹
pt-kill --defaults-file xx --match-command Sleep --kill --victims all --interval 10 每隔10s 殺掉處於sleep狀態的連線數;
pt-kill defaults-file xx --busy-time 60 --kill --victims all --interval 10 每隔10s 殺掉處初步runnning狀態超過60s的連線數;
幾個重要引數
--daemonize 放在後臺以守護程式的形式執行;
--interval 多久執行一次,單位可以是s,m,h,d等預設是s
--victims 預設是oldest,只殺最古老的查詢。這是防止被查殺是不是真的長時間執行的查詢,他們只是長期等待。這種種匹配按時間查詢,殺死一個時間最高值。
all 殺掉所有滿足的執行緒
殺死所有,但最長的保留不殺
action
--kill 殺掉連線並且退出
--kill-query 只殺掉連線執行的語句,但是執行緒不會被終止
--print 列印滿足條件的語句
QUERY MATCHES
--busy-time 批次查詢已執行的時間超過這個時間的執行緒;
--idle-time 殺掉sleep 了多少時間的連線執行緒,必須在--match-command sleep時才有效
更多介紹可以參考官方的文件:
引數
–busy-time
執行時間
–idle-time
空閒時間
–victims
所有匹配的連線,對應有最久的連線
–interval
間隔時間,預設30s,有點長,可以根據實際情況來調節
列印出來kill掉的連線
–match-command
匹配當前連線的命令
Query
Sleep
Binlog Dump
Connect
Delayed insert
Execute
Fetch
Init DB
Kill
Prepare
Processlist
Quit
Reset stmt
Table Dump
–match-state
匹配當前連線的狀態
Locked
login
copy to tmp table
Copying to tmp table
Copying to tmp table on disk
Creating tmp table
executing
Reading from net
Sending data
Sorting for order
Sorting result
Table lock
Updating
–match-info
使用正規表示式匹配符合的sql
–match-db –match-user –match-host
見名知意
常用用法
殺掉空閒連結
pt-kill –match-command Sleep –idle-time 5 –host –port –interval –print –kill –victims all
殺掉執行時間超過5s的連結
pt-kill –match-command Query –busy-time 5 –host –port –interval –print –kill –victims all
殺掉匹配某個規則的正在執行的sql
pt-kill –match-command Query –busy-time 5 –host –port –interval –print –kill –victims all –match-info
殺掉正在進行filesort的sql
pt-kill –match-command Query –match-state “Sorting result” busy-time 5 –host –port –interval –print –kill –victims all
殺掉正在Copying to tmp table的sql
pt-kill –match-command Query –match-state “Copying to tmp table” busy-time 5 –host –port –interval –print –kill –victims all
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2471/viewspace-2811076/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Percona-Toolkit 之 pt-kill 用法
- Percona-Toolkit 之 pt-kill 低效SQLSQL
- percona-tools 之 pt-kill 引數詳解
- percona-toolkit安裝方法和主要工具用途彙總介紹
- PXC(Percona XtraDB Cluster)的缺點介紹
- Go 效能壓測工具之wrk介紹與使用Go
- mytop 使用介紹 mysql實時監控工具MySql
- certutil工具的使用介紹
- 滲透測試之BurpSuite工具的使用介紹(三)UI
- JEB工具的介紹及使用
- 介紹五個很實用的IDEA使用技巧Idea
- mydumper備份工具介紹與使用
- Linux之cat的使用介紹Linux
- 為你介紹4個超實用的Linux監控工具Linux
- 介紹幾個程式碼實際開發中很實用的工具
- Google guava工具類的介紹和使用GoGuava
- domutils 工具庫的使用方法介紹
- 日誌收集之filebeat使用介紹
- etcdctl工具介紹
- PG實用工具推薦和介紹
- Percona-Tookit工具包之pt-mext
- Percona-Tookit工具包之pt-pmp
- Percona-Tookit工具包之pt-ioprofile
- Percona-Toolkit工具包之pt-archiverHive
- SAP Fiori應用索引大全工具和 SAP Fiori Tools 的使用介紹索引
- 幾款實用的容錯、備份與快照工具介紹WP
- github原始碼管理工具——使用介紹Github原始碼
- MySQL壓測工具mysqlslap的介紹與使用MySql
- Go 專案依賴注入wire工具最佳實踐介紹與使用Go依賴注入
- uml建模工具介紹
- Percona-Tookit工具包之pt-slave-find
- Percona-Tookit工具包之pt-table-usage
- Percona-Tookit工具包之pt-visual-explainAI
- Percona-Tookit工具包之pt-query-digest
- Percona-Tookit工具包之pt-table-checksum
- Percona-Tookit工具包之pt-mysql-summaryMySql
- Elasticsearch之介紹Elasticsearch
- MATLAB神經網路工具箱使用介紹Matlab神經網路