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
# 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.logLa 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.