percona 實用工具之pt kill使用介紹

2022-09-27 02:27:12 字數 2753 閱讀 7974

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 殺掉iudqkhqx所有滿足的執行緒

殺死所有,但最長的保留不殺

action

--kill                 殺掉連線並且退出

--kill-query           只殺掉連線執行的語句,但是執行緒不會被終止

--print                列印滿足條件的語句

query matches

--busy-time 批次查詢已執行的時間超過這個時間的執行緒;

--idle-time 殺掉sleep 了多少時間的連線線程,必須在--match-command sleep時才有效

更多介紹可以參考官方的文件:

引數–busy-time

執行時間

–idle-time

空閒時間

–victims

所有匹配的連線,對應有最久的連線

–interval

間隔時間,預設30s,有點長,可以根據實際情況來調節

–print

列印出來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

tawww.cppcns.comble 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

本文標題: percona 實用工具之pt-kill使用介紹

本文位址: /shujuku/mysql/148037.html

linux實用工具

基本實用工具 ls 顯示檔名 list cat 顯示文字檔案內容 rm i 刪除檔案 remove i開啟選項 less more 分屏顯示檔案 hostname 顯示系統名 檔案操作 cp sourcefile destinationfile 複製檔案copy mv oldname newname...

Linux實用工具

特殊字元 轉義字元可以用 括起來,也可以在前面加上 基礎的一些命令 列出檔名 ls 顯示檔案文字內容 cat 刪除檔案 rm 顯示系統名 hostname 複製檔案 cp 更改檔名 mv 列印檔案 lpr 查詢字串 grep 顯示頭,尾檔案 head,tail 按順序顯示檔案內容 sort 刪除檔案...

sqlcmd 實用工具

使用 sqlcmd 實用工具可以在命令提示符處輸入 transact sql 語句 系統過程和指令碼檔案。此實用工具使用 ole db 執行 transact sql 批處理。sqlcmd e s server name instance name h wksta name d db name l ...