Hola a todos, esta semana me he visto obligado a usar la herramienta pt-kill de PERCONA (percona toolkit), por la necesidad de destruir sesiones por un fallo en el desarrollo de una aplicación, la cual producía múltiples bloqueos y encolamientos en toda la instancia.

Como la versión de la bbdd es MYSQL 5.0 (es un poco antigua pero no tengo mas remedio de administrarla) no tenia otra opción como hacer mi propio script con la tabla PROCESSLIST:

Select concat ('kill ',ID,';') FROM PROCESSLIST where command = 'Query' and time > 100;

Y si soy sincero es un infierno matar mas de 100 sesiones a través del "show processlist" y una a una.

pt-kill (https://www.percona.com/software/percona-toolkit) es la herramienta perfecta para estas ocasiones.

En resumen pt-kill coge la salida de show processlist y según el criterio de las opciones del comando, se encarga de matar las sesiones (o de solo mostrarla con la opción –print) incluso a intervalos:

Vamos a ver unos ejemplos prácticos:

Matar sesiones que llevan corriendo mas de 60s.

pt-kill --busy-time 60 --kill

Y ahora solo imprime por pantalla, no realiza kill:

pt-kill --busy-time 60 --print

Matar todas las sesiones que se encuentran en estado Sleep y ejecuta de nuevo el proceso cada 10s

pt-kill --match-command Sleep --kill --victims all --interval 10

 

Os recomiendo que le echéis un vistazo al manual con todas sus opciones:

https://www.percona.com/doc/percona-toolkit/2.2/pt-kill.html

Hasta la proxima!

 

 

Compártelo:

FacebookTwitterDiggGoogle BookmarksLinkedIn

Author: Rafael Alberto Hernandez


Escribir un comentario

Código de seguridad
Refescar

DBigCloud en tu idioma

esenfrdeitptru

Gold Sponsor

 

vExpert 2017

DbigCloud newsletter

Suscribete a nuestra newsletter y recibe cada semana los mejores artículos seleccionados por DBigCLoud.
Email type
Please wait