zoukankan      html  css  js  c++  java
  • pt-kill

    pt-kill作用主要是用来杀掉MySQL的链接,在查杀进程的时候,它从show processlist 中获取满足条件的连接然后进行kill,也可以从从包含show processlist的文件中读取满足条件的连接然后进行输出或者查杀。
    基本使用案例:
    (1)查杀大于60秒的链接
    pt-kill --busy-time 60 --kill
    (2)打印出大于60秒的链接,不杀
    pt-kill --busy-time 60 --print
    我们执行一个全表扫描的操作然后观察:
    [root@mxqmongodb2 bin]# ./pt-kill --busy-time 10 --host=172.16.16.35 --port=3306 --user=root --password=123456 --print
    # 2017-06-23T16:07:13 KILL 17106 (Query 56 sec) select * from stock
    # 2017-06-23T16:07:18 KILL 17106 (Query 61 sec) select * from stock
    我们看下用(1)当中的方法杀掉这个进程:
    [root@mxqmongodb2 bin]# ./pt-kill --busy-time 10 --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print
    # 2017-06-23T16:10:37 KILL 17195 (Query 13 sec) select * from stock
    看一下客户端的提示:
    mysql> select * from stock;
    ERROR 2013 (HY000): Lost connection to MySQL server during query
    显示链接已经被杀掉了
    (3)每10秒检查一次,发现有sleeping的进程就给干掉:
    [root@mxqmongodb2 bin]# ./pt-kill --match-command Sleep --victims all --interval 10 --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print
    # 2017-06-23T16:14:08 KILL 17108 (Sleep 0 sec) NULL
    # 2017-06-23T16:14:18 KILL 17199 (Sleep 0 sec) NULL
    # 2017-06-23T16:14:18 KILL 17142 (Sleep 0 sec) NULL
    # 2017-06-23T16:14:28 KILL 17200 (Sleep 0 sec) NULL
    # 2017-06-23T16:14:38 KILL 17203 (Sleep 0 sec) NULL
    # 2017-06-23T16:14:48 KILL 17201 (Sleep 23 sec) NULL
    (4)杀掉所有的链接
    pt-kill --match-state login --print --victims all --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print
    (5)通过文件查杀进程,大于60秒直接干掉:
    mysql -uroot -p123456 -e "SHOW PROCESSLIST" > proclist.txt
    pt-kill --test-matching proclist.txt --busy-time 60 --print
    (6)也可以根据某些规则去查杀进程:
    杀掉正在进行filesort的sql
    pt-kill –match-command Query –match-state “Sorting result” busy-time 5 –interval –victims all --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print
    杀掉正在Copying to tmp table的sql
    pt-kill –match-command Query –match-state “Copying to tmp table” busy-time 5 -–interval –victims all --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print
  • 相关阅读:
    指出在 spring aop 中 concern 和 cross-cutting concern 的不同之处?
    什么是 spring bean?
    Java 中,Serializable 与 Externalizable 的区别?
    spring DAO 有什么用?
    spring 支持集中 bean scope?
    Spring 应用程序有哪些不同组件?
    什么是切点JoinPoint?
    @Required 注解有什么用?
    用什么命令对一个文件的内容进行统计?(行号、单词数、 字节数) ?
    区分构造函数注入和 setter 注入?
  • 原文地址:https://www.cnblogs.com/shengdimaya/p/7092872.html
Copyright © 2011-2022 走看看