Como muchos sabréis una de las cosas en las que más me centro en el campo de web es en la optimización, por ello hoy os vengo a hablar de MySQLTuner, una utilidad para optimizar bases de datos.
La optimización de bases de datos
Una de las cuestiones más complejas a la hora de administrar una infraestructura o servidor web es configurar de manera adecuada todos los sistemas (y no, no basta con que funcione). Para ello es necesario conocer a fondo todos los programas que se utilizan y los múltiples parámetros que tienen cada uno de ellos, sin embargo, este proceso es muy costoso en tiempo. Además, una mala configuración entraña muchos riesgos, tanto de caídas como de seguridad.
Las maneras de abordar este problema son varias:
- Contar con un especialista que haga este trabajo (la mejor opción para una empresa)
- Pedir ayuda en los distintos foros de administradores.
- Utilizar utilidades ya creadas que nos ofrezcan sugerencias de optimización.
Hoy os vengo a hablar de esta última opción.
Optimizando bases de datos con MySQLTuner
MySQLTuner es un script escrito en perl de código abierto que analiza las bases de datos MySQL (también soporta MariaDB), con el fin de ofrecer un conjunto de sugerencias de optimización para mejorar el desempeño de nuestras bases de datos. Esto, a su vez, permite que nuestras aplicaciones y servicios webs sean mucho más rápidos, ya que las peticiones a las bases de datos suelen ser una de las cuestiones que más ralentizan la carga de una web.
Para analizar tu base de datos, lo único que tienes que hacer es subir el fichero a tu servidor o descargarlo con el siguiente comando:
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
Finalmente, le damos permisos de ejecución y lo ejecutamos:
chmod +x mysqltuner.pl
./mysqltuner.pl
A continuación nos mostrará un reporte sobre el uso de la caché, el tipo de operaciones más comunes, el número de consultas, el uso de tablas temporales, etc. Sin embargo, lo más importante son las últimas líneas, donde nos indica las sugerencias de optimización personalizadas para nuestro entorno.
Como veis, sin ser un experto en la configuración de una base de datos, podemos hacer una puesta a punto de la misma para conseguir que todo funcione más rápido y, por tanto, que nuestros usuarios estén más contentos.
Espero que os haya gustado esta entrada y que os animéis a comentar si lo habéis usado o conocéis algún sistema similar.
Un saludo.