En un trabajo de optimización es necesario revisar cientos de factores que pueden estar influyendo en el funcionamiento de un sistema, entre los que la base de datos puede tener un rol clave. Afortunadamente existen múltiples herramientas automatizadas que nos pueden facilitar este trabajo, o al menos darnos un punto de partida para poder ajustar las configuraciones de MySQL de modo de sacar el máximo provecho al hardware que estás utilizando.
- mysqltuner es una de las alternativas más conocidas y por lo mismo se puede encontrar en los repositorios de varias distribuciones, pero en caso que no sea así la puedes descargar desde su repositorio en GitHub. Dado que se trata de un “simple” script en Perl, basta bajarlo y otorgar permisos de ejecución para obtener una serie de datos críticos y sugerencias de optimización, orientadas tanto a mejorar el performance como la estabilidad.
- mysql-tuning-primer funciona de modo similar, y lo puedes descargar desde su página de proyecto en Launchpad. En este caso es un script en bash, que a partir de las variables de status de MySQL intenta generar recomendaciones sensatas para optimizar el servidor. Además de las sugerencias de configuración, en varios casos agrega información adicional para comprender de mejor forma el contexto de los ajustes en caso que no tengas un conocimiento muy acabado de las variables en las que indica modificaciones.
Aunque ambas herramientas entregan información muy valiosa para realizar mejoras en el funcionamiento de tu base de datos, es fundamental complementarlas con un conocimiento acabado de cada una de las variables de configuración y el funcionamiento de la aplicación para abordar exitosamente la tarea de optimización.