国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 13:09:15
字體:
來源:轉載
供稿:網友
一個優秀的kill MySQL連接的一個工具,是percona toolkit的一部分,在因為空閑連接較多導致超過最大連接數、某個有問題的sql導致mysql負載很高時,都需要將一些連接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時才有效

更多介紹可以參考官方的文檔:https://www.percona.com/doc/percona-toolkit/2.1/pt-kill.html#cmdoption-pt-kill--interval

參數

–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
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



注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 济宁市| 高邮市| 依安县| 松原市| 远安县| 武安市| 龙里县| 邳州市| 合水县| 台中市| 湾仔区| 广饶县| 云安县| 云阳县| 肥乡县| 吉首市| 大余县| 历史| 神农架林区| 图木舒克市| 馆陶县| 蕉岭县| 天柱县| 西丰县| 衡南县| 白河县| 八宿县| 拜城县| 东乡族自治县| 云龙县| 泸水县| 聊城市| 始兴县| 溆浦县| 定襄县| 呼和浩特市| 绥中县| 上饶市| 四平市| 昌黎县| 通渭县|