Skip to main content

El slow query log (registro de consultas lentas) permite identificar qué consultas SQL están demorando más de lo normal, ayudando a optimizar el rendimiento de tu base de datos.

A continuación te explicamos cómo habilitarlo y revisarlo desde tu VPS con cPanel.

Paso 1. Acceder al panel de control de tu VPS

Para comenzar, iniciá sesión en el panel de control de tu VPS. Si no recordás cómo, hacé clic aquí.
Luego, abrí la herramienta Terminal.

Paso 2. Verificar si el registro de consultas lentas está activo

Con el comando:

mysql -e "SHOW VARIABLES LIKE 'slow_query_log';"

Recibirás un resultado como este, si el log de consultas lentas está deshabilitado:

+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | OFF   |
+----------------+-------+

Paso 3. Activar temporalmente el registro

Para activar el registro de forma temporal (hasta el próximo reinicio de MySQL):

mysql -e "SET GLOBAL slow_query_log = 'ON';"
mysql -e "SET GLOBAL slow_query_log_file = '/var/log/slow-queries.log';"
mysql -e "SET GLOBAL long_query_time = 2;"
Explicación de los parámetros:

 

Variable Utilidad
slow_query_log activa el registro
slow_query_log_file define la ruta del archivo de log
long_query_time tiempo (en segundos) mínimo que debe tardar una consulta para ser registrada (en este ejemplo, 2 s)

Paso 4. Habilitarlo de forma permanente

Para mantener esta configuración tras reiniciar MySQL, debés editar el archivo de configuración.

En la mayoría de instalaciones con cPanel (MySQL 8+), el archivo se encuentra en /etc/my.cnf

Abrí el archivo con tu editor de preferencia, por ejemplo:

nano /etc/my.cnf

Y agregá (o modificá) las siguientes líneas bajo la sección [mysqld]:

[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/slow-queries.log
long_query_time = 2

Guardá los cambios y crea el archivo:

touch /var/log/slow-queries.log
chown mysql:mysql /var/log/slow-queries.log

Reiniciá MySQL:

/scripts/restartsrv_mysql

Paso 5. Ver el contenido del log

cat /var/log/slow-queries.log

O, para un análisis más amigable, usá el comando mysqldumpslow:

mysqldumpslow /var/log/slow-queries.log | less 

Paso 6. Desactivar el registro

Cuando no necesites seguir registrando las consultas lentas, podés desactivarlo de la siguiente forma:

mysql -e "SET GLOBAL slow_query_log = 'OFF';"

Y, si querés desactivarlo permanentemente, eliminá o comentá las líneas correspondientes en el archivo /etc/my.cnf.

  • Este log puede crecer rápidamente si tu sitio tiene alto tráfico. Se recomienda activarlo solo durante períodos de diagnóstico.
  • Aseguráte de tener suficiente espacio en disco en la partición donde se ubica el archivo de log (usualmente /var/log/).

Si luego de seguir estos pasos aún tenés alguna consulta, no dudes en comunicarte con nuestro Equipo de Soporte por WhatsApp o mediante un ticket para recibir asistencia.