# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

mytop, el top para MySQL


mytop

mytop es una utilidad bajo línea de comandos que sirve para monitorizar las consultas mysql, procesos, y rendimiento general del servicio a tiempo real.

Funciona en cualquier sistema Unix que tenga instalado Perl, DBI, y Term::ReadKey. Dejo unos cuantos enlaces para quien desee probarlo y profundizar un poco más:

Básicamente la información se divide en dos partes, la cabecera y el cuerpo. En la cabecera vemos lo siguiente:

  MySQL on localhost (3.22.32)              up 3+23:14:20 [23:54:52]
   Queries Total: 617            Avg/Sec: 0.00  Now/Sec: 0.05  Slow: 0
   Threads Total: 1         Active: 1     Cached: 0
   Key Efficiency: 88.38%  Bytes in: 0  Bytes out: 0

Muestra la versión del servicio MySQL, el hostname del servidor, y su uptime. La segunda línea muestra el total de consultas procesadas, la media por segundo, y las consultas reales por segundo. La última línea (la 3ª la omitimos pues no está activa tras versiones superiores a 3.23.x), muestra la eficiencia del key buffer y el nº de bytes que ha enviado/recibido MySQL.

En cuanto al cuerpo, pues cláramente muestra las consultas actuales que se están ejecutando:

    Id     User       Host      Dbase   Time      Cmd Query or State
    --     ----       ----      -----   ----      --- --------------
    61  jzawodn  localhost      music      0    Query show processlist

La instalación es simple:

tar -zxvf mytop-.tar.gz
cd mytop-
perl Makefile.PL
make
make test
make install

Sin duda un excelente recurso para optimizar y monitorizar el servicio MySQL.

Categoría: MySQL | Etiquetas: ,

4 Comentarios

  1. [...] también MyTop, MySQL Query Analyzer o MySQL Performance Tuning Primer [...]

  2. Nehemias dice:

    Estimado.

    Como recolecta los datos MyTop??
    realiza una sesion por cada consulta? o abre una sesion permamente y desde ahi realiza todas las consultas?

    Necesito saberlo porque tengo un problema con mi pool de conexiones, y para determinar quien cliente se esta sobrepasando, es necesario estar siempre conectado.

    Bueno, que estes de lo mejor.

  3. Alex dice:

    Hola Nehemias,

    No se decirte con seguridad, pero supongo que se conectará cada X segundos/milisegundos a través de un “show processlist” para recolectar la información.

    Un saludo.

  4. Javier dice:

    gracias, lo hemos implementado en http://www.decasasyautos.com para medir las consultas sql.

    Javier.
    http://www.decasasyautos.com

Deja una respuesta