zoukankan      html  css  js  c++  java
  • Percona-Toolkit 之 pt-kill 用法

    生产环境中我们时常遇到这样的情况,数据库性能恶劣,需要马上杀掉部分会话,不然数据库就夯死。我们可以先找show processlist的输出来杀会话,但是比较麻烦。pt-kill为我们解决了杀会话问题。

    1、每10秒检查一次,发现有 Query 的进程就给干掉
    # 只打印每10秒检查一次:(--interval 10)
    pt-kill --host=192.168.5.7 --port=3306 --user=root --password=hankyoon --match-command="Query" --busy-time 30 --victims all --interval 10 --daemonize --print --log=/tmp/1.log

    # 执行杀操作并打印日志:
    pt-kill --host=192.168.5.7 --port=3306 --user=root --password=hankyoon --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.5.7 --port=3306 --user=root --password=hankyoon --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.5.7 --port=3306 --user=root --password=hankyoon --match-info "select|SELECT" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log

    # 执行杀操作针对yoon库select大于30s:
    pt-kill --host=192.168.5.7 --port=3306 --user=root --password=hankyoon --match-db='yoon' --match-info "select|SELECT" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_yoon_kill.log

    3、查杀某IP来源的会话
    # 只打印某IP来源的会话
    pt-kill --host=192.168.5.7 --port=3306 --user=root --password=hankyoon --match-host "192.168.5.7" --busy-time 30 --victims all --interval 10 --daemonize --print --log=/tmp/pt_select.log

    # 执行杀操作某IP来源的会话
    pt-kill --host=192.168.5.7 --port=3306 --user=root --password=hankyoon --match-host "192.168.5.7" --busy-time 30 --victims all --interval 10 --daemonize --kill --log=/tmp/pt_select_kill.log

    4、查杀访问某用户的会话
    # 只打印查杀访问某用户的会话
    pt-kill --host=192.168.5.7 --port=3306 --user=root --password=hankyoon --match-user "yoon" --busy-time 30 --victims all --interval 10 --daemonize --print --log=/tmp/pt_select.log

    # 执行杀操作-查杀访问某用户的会话
    pt-kill --host=192.168.5.7 --port=3306 --user=root --password=hankyoon --match-user "yoon" --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.5.7 --port=3306 --user=root --password=hankyoon --match-db='db' --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.5.7 --port=3306 --user=root --password=hankyoon --match-db='db' --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.5.7 --port=3306 --user=root --password=hankyoon --match-db='db' --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.5.7 --port=3306 --user=root --password=hankyoon --match-db='db' --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

  • 相关阅读:
    从零搭建一个IdentityServer——资源与访问控制
    职 工 养 老 保 险 转 移—陕西省外转入
    EurekaUser-Redis
    EurekaUser-返回类型和全局异常
    C# 入门实战系列文章
    Python入门实战系列文章
    Python基础之Scrapy简介
    Python办公自动化之文件合并
    Python基础之shutil及zipfile模块
    Python基础之os模块简介
  • 原文地址:https://www.cnblogs.com/hankyoon/p/12364645.html
Copyright © 2011-2022 走看看