Problemas de rendimiento con MySQL

Mysql. Servidor de Bases de datos.Llevaba tiempo con problemas de rendimiento en la web. Haciendo pruebas, pude comprobar que el sistema comenzaba a funcionar pesadamente cuando se hacían consultas a la base de datos, por lo que supuse que el problema podría estar en la conexión con MySQL, pero no sabía muy bien cómo solucionarlo.

Pensando el qué pudo producir el mal funcionamiento de mi gestor de base de datos que hasta la fecha había funcionado perfectamente, me dí cuenta que para hacer unas pruebas había estado jugando con consultas a unas tablas que tienen un largo número de entradas. Las consultas eran pesadas, y ponían mi gestor a todo trapo, pero no pensaba que pudieran influir en el rendimiento globar de la base de datos.

Leyendo en la documentación de administración de MySQL pude comprobar que hay una caché de consultas que si está a tope, puede dar problemas en el rendimiento, lo que me hizo apostar por tratar de limpiar esta caché a ver si se solucionaba mi problema. Y se solucionó.

Como hay que ser agradecidos y citar a los verderos artistas, aquí tenéis las intrucciones paso a paso. “pulsa aquí“. 😉

Resumiendo, los comandos son:

  1. Para ver si tienes activa la caché de consultas:
    SHOW VARIABLES LIKE 'have_query_cache';
  2. Si la respuesta es sí, continúa, tu problema puede ser el mismo que el mío. El siguiente paso es ver el estado de tu caché:
    SHOW STATUS LIKE 'Qcache%';
    +-------------------------+--------+
    | Variable_name           | Value  |
    +-------------------------+--------+
    | Qcache_free_blocks      | 36     |
    | Qcache_free_memory      | 138488 |
    | Qcache_hits             | 79570  |
    | Qcache_inserts          | 27087  |
    | Qcache_lowmem_prunes    | 3114   |
    | Qcache_not_cached       | 22989  |
    | Qcache_queries_in_cache | 415    |
    | Qcache_total_blocks     | 912    |
    +-------------------------+--------+
  3. Aunque os parezca que la mayoría de la memoria está libre, deberíamos defragmentarla, o mejor borrarla de vez en cuando. Para defragmentar la caché el comando es:
    FLUSH QUERY CACHE;
  4. Para borrar la caché directamente, el comando es:
    RESET QUERY CACHE;
  5. Ahora tu MySQL vuelve a volar. 😉

Espero que a alguien le vanga bien, como me vino a mí.

Comments are closed.