systemadmin.es > DBA > Snapshots de MySQL y la Query Cache

Snapshots de MySQL y la Query Cache

Algunos datos que pueden ser interesantes mostrar en un gráfico son las queries en la cache y la memoria libre de la query cache:

mysql> show status like 'Qca%';
+-------------------------+------------+
| Variable_name           | Value      |
+-------------------------+------------+
| Qcache_free_blocks      | 2          |
| Qcache_free_memory      | 400954376  |
| Qcache_hits             | 1014709429 |
| Qcache_inserts          | 149894868  |
| Qcache_lowmem_prunes    | 1785432    |
| Qcache_not_cached       | 57337894   |
| Qcache_queries_in_cache | 26915      |
| Qcache_total_blocks     | 53982      |
+-------------------------+------------+
8 rows in set (0.00 sec)

Si mostramos las queries en cache en gráfico podemos obtener algo similar a:

Queries en cache

Queries en cache

Para el caso de la memoria ocupada/libre:

Memoria ocupada de la query cache

Memoria ocupada de la query cache

Resulta vistoso que desaparezcan las queries y se libere toda la memoria cada 8 horas. Esto se debe a que dicho equipo tiene un cron configurado para crear snapshots, y por lo tanto, no le sale gratis desde el punto de vista de la query cache.

En la documentación de MySQL, si consultamos el comando FLUSH podemos ver que un FLUSH TABLES WITH READ LOCK como el que se hace al crear el snapshot, también limpia completamente la query cache como si ejecutasemos RESET QUERY CACHE. Por lo tanto, debemos tener en cuenta esto ya que limpiar la query cache puede penalizar el rendimiento.

One comment to “Snapshots de MySQL y la Query Cache”

  1. Perdona mi ignorancia, ¿Cómo puedo mostrar el gráfico de la caché?

Deja un comentario:

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