Resumen
MySQL es un sistema de gestión de bases de datos relacionales altamente versátil y de alto rendimiento, utilizado por muchos paquetes basados en web como WordPress, Joomla y Magento. Si bien la configuración predeterminada ofrece un rendimiento razonable, siempre hay formas de asegurarse de obtener la mejor velocidad posible de su base de datos.
Como proveedor de alojamiento, se nos pide todo el tiempo un servidor "más rápido" o más recursos, mientras que en muchos casos esto no solucionará el problema. Una mejor optimización y ajuste del rendimiento de su configuración existente siempre debe ser el primer paso.
Estas instrucciones son solo para servidores privados virtuales (VPS) o dedicados. Si tiene alojamiento compartido y necesita un mejor rendimiento de la base de datos, hable con el equipo de Conetix para migrar a un VPS.
Instrucciones
¡Advertencia! Asegúrese de que se haya realizado una copia de seguridad de su base de datos antes de realizar cualquier cambio.
Una de las herramientas más sencillas para ayudar a diagnosticar problemas es MySQLTuner. Este es un script basado en Perl que analizará el rendimiento actual de su servicio de base de datos.
Es mejor ejecutar esta herramienta unas horas después de que la base de datos esté en uso, no solo después de reiniciar.
-
Descargue el script MySQLTuner:
wget https://raw.github.com/major/MySQLTuner-perl/master/mysqltuner.pl
-
Añadir permisos de ejecución:
chmod +x mysqltuner.pl
-
Luego, ejecuta la secuencia de comandos:
./mysqltuner.pl
¡Advertencia! Si bien MySQLTuner es excelente para darle una idea inicial de qué configuración cambiar, comprenda qué está cambiando antes de editar las configuraciones. Algunos cambios pueden provocar una degradación del rendimiento y, en el peor de los casos, la pérdida de datos sin el cuidado y la atención adecuados.
Aquí hay algunos consejos básicos:
- Mire la asignación de memoria de InnoDB (innodb_buffer_pool_size) para asegurarse de que se haya asignado suficiente memoria a MySQL.
- Revise las advertencias sobre las uniones realizadas sin índices. Estos tienen el potencial de ser muy lentos de ejecutar, especialmente si tiene una gran cantidad de filas.
- Comprueba si hay tablas fragmentadas.
- Use el comando EXPLAIN en MySQL para ayudar a determinar problemas de rendimiento con sus consultas.
Hay muchos otros consejos, ajustes y mejoras posibles, use las sugerencias de MySQLTuner para ayudarlo a orientarlo en la dirección correcta y realice algunas búsquedas en Google sobre el problema. Si es cliente de Conetix, puede registrar un ticket de soporte y realizaremos un análisis básico completamente gratis.
Lecturas adicionales
- Ajuste del rendimiento de InnoDB: http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html
- Los 10 mejores consejos de rendimiento de Oracle: https://wikis.oracle.com/pages/viewpage.action?pageId=27263381
- Cómo indexar para uniones con MySQL:hackmysql.com/case4
- Explicación de MySQL explicada: http://www.slideshare.net/phpcodemonkey/mysql-explain-explained