GoDaddy Ayuda

Hicimos lo mejor que pudimos para traducir esta página para ti. La página en inglés también está disponible.

Revisar consultas lentas de MySQL

Has habilitado el registro de consultas lento y ahora tengo un registro para revisar. Si no has habilitado el registro, puedes encontrar los pasos aquí .

Analizar el registro

Ubicación del registro:
/var/log/slow-queries.log
NOTA: Si no encuentras un registro en esta ubicación, verifica la entrada en tu my.cnf y que MySQL se reinició después de realizar el cambio.
Formato:
# Hora: 210905 6:33:11 # Usuario @ Host: dbuser [dbname] @ hostname [1.2.3.4] # Query_time: 12.116250 Lock_time: 0.000035 Rows_sent: 0 Rows_examined: 201565 use dbname; SET timestamp = 1409898791; ... CONSULTA LENTA AQUÍ ...

El registro puede ser abrumador cuando tienes docenas, si no cientos, de entradas en el formato anterior. Para hacer que el registro sea más legible, usa mysqldumpslow para analizar el registro.

mysqldumpslow -r -a /var/log/mysql/mysqld.slow.log
La salida contendrá información importante como hora , filas y consulta .
Recuento: 2 Tiempo = 20.54s (41s) Bloqueo = 0.02s (0s) Filas = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Recuento: 1 hora = 21.74s (21s) Bloqueo = 0.01s (0s) Filas = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2 Recuento: 1 vez = 23.86s (23s) Bloqueo = 0.20s (0s) Filas = 12547802 (0), dbuser [dbuser] @localhost SELECT * FROM db_exp_table WHERE site_user_id = '214380' ORDER BY site_id DESC LIMIT 0,2

En el ejemplo anterior, tenemos 1 consulta que ha tardado entre 20 y 24 segundos en ejecutarse. Esto causa problemas con tu sitio que van desde tiempos de carga lentos hasta errores de tiempo de espera (rotación sin fin). La consulta está examinando 12,547,802 filas. Una consulta grande (p. Ej., Select *) ejecutada en una tabla con más de 12 millones de filas probablemente resultará en una mala experiencia para el usuario. Optimizar la consulta (es decir, seleccionar "mesas de café") o reducir las filas examinadas (es decir, archivar datos antiguos) acelerará la consulta.

Si el archivo de registro es grande, ejecuta mysqldumpslow y guarda la salida en un archivo. Esto facilitará la revisión con otras herramientas de manipulación de archivos como grep o find .

mysqldumpslow -r -a /var/log/slow-queries.log > slow.log.parsed

Siguientes pasos

Después de revisar el registro de consultas lentas, debería tener una buena idea de las consultas problemáticas que deben solucionarse. Si tu sitio todavía funciona lentamente con MySQL usando muchos recursos, es posible que debas optimizar MySQL para utilizar mejor los recursos de tu servidor.

Una vez que hayas terminado con el registro, asegúrate de deshabilitar el registro lento de consultas de MySQL . Dejar el registro habilitado agotará los recursos de MySQL innecesariamente y potencialmente llenará tu disco (con malas consultas).

Servicios de hosting GoDaddy

Nuestros expertos en servidores pueden habilitar/deshabilitar el registro lento de consultas de MySQL y optimizar MySQL. Para obtener más información sobre este servicio, una guía de GoDaddy Atención al cliente está aquí para ayudar.

Más información

Para obtener más información sobre los servicios de hosting que ofrece GoDaddy, consulta nuestraMenú de Servicios de hosting .