GNU/Linux >> Tutoriales Linux >  >> Linux

MySQL:ajuste y optimización del rendimiento

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.

  1. Descargue el script MySQLTuner:

    wget https://raw.github.com/major/MySQLTuner-perl/master/mysqltuner.pl
  2. Añadir permisos de ejecución:

    chmod +x mysqltuner.pl
  3. 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

Linux
  1. Cree una nueva base de datos y utilícela en MySQL/MariaDB

  2. ¿Estado y dependencias del servicio de Solaris?

  3. Los 8 mejores consejos y trucos de la línea de comandos de MySQL

  4. Crear y editar usuarios en MySQL

  5. Conceptos básicos de usuario y base de datos MySQL

13 consejos para ajustar y optimizar las bases de datos Mysql y Mariadb

Buscar y reemplazar MySQL

Cómo Multi-Master MySQL con Percona y Keepalived

Instale VMware Tools en Ubuntu y aumente el rendimiento de la máquina virtual

Ajuste del rendimiento de Nginx

Introducción a la supervisión y el ajuste del rendimiento de Linux