Ajustando MySQL

Publicado 10-04-2016

En primer lugar te diré que si tienes un proyecto grande que hace mucho uso de MySQL, lo que has de hacer sin duda es contratar a un experto para que lo configure y ajuste correctamente. Pero dicho eso puedes hacer bastantes ajustes por ti mismo para tener una configuración decente.

No nos engañemos, no puedes hacer magia, más importante que la configuración de MySQL es el programa que va a tirar de él, una estructura de datos correcta, los índices adecuados para las consultas que vas a realizar y, el truco maestro de verdad: LA CONSULTA MÁS RÁPIDA ES LA QUE NO TIENES QUE HACER.

Curiosa afirmación, pero te recomiendo leer los artículos que vamos dedicando a Redis y que tomes muy en cuenta la posibilidad de almacenar en caché de RAM todo lo que puedas para evitar consultarlo constantemente a la base de datos. Proyectos que estaban en una completa muerte técnica se han salvado gracias a esta idea.

Pero volviendo al asunto, ¿Cómo podemos hacer para ajustar la configuración de MySQL sin ser unos expertos?

Tuning Primer

La solución viene de la mano de un sencillo script de shell: Tuning Primer.

Este script analizará los datos de funcionamiento de nuestro MySQL y nos dará una serie de consejos de ajustes para mejorar enormemente su desempeño. Eso sí, el servicio MySQL deberá llevar en funcionamiento ininterrumpido al menos 48 horas, y a ser posible en un entorno de producción ya que cuanto más real sea el trabajo que ha tenido en esas 48 horas más reales serán los ajustes recomendados.

Instalando Tuning Primer

Sencillo, descargar el script directamente en nuestro servidor, darle permisos de ejecución y ejecutarlo:

1#> cd /root
2#> mkdir bin
3#> cd bin
4#> wget "http://bazaar.launchpad.net/~matt-day32/mysql-tuning-primer/trunk/download/head:/tuningprimer.sh-20080620031244-qhr6av9fsnf6vswg-1/tuning-primer.sh"

Ten en cuenta que debes tener instalado wget o curl y utilizarlos para descargar el script. Por tanto, si quieres instalar wget:

1#> apt-get update
2#> apt-get install wget

Vamos a darle permisos de ejecución:

1#> chmod +x tuning-primer.sh

En este momento ya lo podemos ejecutar:

1#> ./tuning-primer.sh

Veréis que da bastante información, los problemas más urgentes aparecen en rojo si estamos en un terminal con colores. Ahora ya depende de cada uno hacer caso o no y encontrar los mejores valores de ajuste para cada problema señalado.

Comentarios por Disqus