systemadmin.es > DBA > Handlers de MySQL para ver el perfil de acceso de la base de datos

Handlers de MySQL para ver el perfil de acceso de la base de datos

Mediante show global status podemos ver como se accede a las tablas de MySQL.

El resultado de la sentencia sería similar a este:

mysql> show global status like 'Handler%';
+----------------------------+---------+
| Variable_name              | Value   |
+----------------------------+---------+
| Handler_commit             | 23558   |
| Handler_delete             | 2541    |
| Handler_discover           | 0       |
| Handler_prepare            | 0       |
| Handler_read_first         | 43126   |
| Handler_read_key           | 515389  |
| Handler_read_next          | 3123058 |
| Handler_read_prev          | 70722   |
| Handler_read_rnd           | 142060  |
| Handler_read_rnd_next      | 5959731 |
| Handler_rollback           | 632     |
| Handler_savepoint          | 0       |
| Handler_savepoint_rollback | 0       |
| Handler_update             | 97452   |
| Handler_write              | 98669   |
+----------------------------+---------+
15 rows in set (0.09 sec)

Estos handlers son las funciones que se llaman para acceder a los datos mediante un determinado storage engine. Como que MySQL cuenta cada vez que se llama esa función podemos ver como accede a los datos.

Handler_read_first

Este nos indica si es alto que hay muchos full index scans.

Handler_read_key

Si este es alto indica que las tablas están bien indexadas.

Handler_read_next

Si este es algo se están haciendo queries por rango.

Handler_read_rnd

Si este es algo puede ser que se hagan queries con sorts, full-table-scans o joins que no están correctamente indexadas.

Handler_read_rnd_next

Si este es alto indica que las tablas no están correctamente indexadas porque se están haciendo muchos full table scans.

Lo ideal es graficar estos valores para ver su evolución. Por ejemplo:

Grafico de ejemplo de los handlers de MySQL

Grafico de ejemplo de los handlers de MySQL

En el gráfico de ejemplo podemos ver como las queries están mal indexadas.

One comment to “Handlers de MySQL para ver el perfil de acceso de la base de datos”

  1. Estimado:

    Dos preguntas; para que sirve ‘Handler_prepare’?

    Y otra cosa, como lograste graficar en cactis los handler?

    Te agradesco de antemano

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>