Registro de consultas de bases de datos en Magento

En semanas anteriores, cubrimos algunas herramientas de depuración tanto para MySQL como para PHP que pueden ser muy útiles para solucionar problemas con sus aplicaciones web basadas en LAMP. Sin embargo, hay una característica poco conocida en la biblioteca Varien instalada con Magento que registrará automáticamente las consultas de la base de datos en un archivo. Esta característica no sólo proporciona una gran cantidad de información sobre la funcionalidad detrás de escena de Magento, sino que también le ayuda a depurar consultas de ejecución lenta y otros problemas de rendimiento basados ​​en modelos.

Para habilitar esta función, abra el archivo lib/Varien/Db/Adapter/Pdo/Mysql.php en su editor de texto favorito. Alrededor de la línea 86, verá las siguientes variables de clase:

[code language=”php”] /**
* Escribir datos de depuración de SQL en un archivo
*
* @varbool
*/
protegido $_debug = falso;
/**
* Duración mínima de la consulta para ser registrada
*
* @var tipo_desconocido
*/
protegido $_logQueryTime = 0,05;
/**
* Registrar todas las consultas (se ignora el tiempo mínimo de duración de la consulta)
*
* @varbool
*/
protegido $_logAllQueries = falso;
/**
* Agregar al registro de datos de la pila de llamadas (rastreo inverso)
*
* @varbool
*/
protegido $_logCallStack = falso;
/**
* Ruta al registro de datos de depuración de SQL
*
* cadena @var
*/
protegido $_debugFile = 'var/debug/sql.txt';[/code]

Leer:  ¿Cómo mantiene el termostato de la caldera la calefacción general de la casa?

La documentación explica bien lo que hacen estas variables, pero las repasaré de todos modos.

[code language=”php”]protegido $_debug = falso;[/code]

– Este es el interruptor que activa o desactiva la depuración de SQL. Configúrelo en “verdadero” para habilitarlo.

[code language=”php”]protegido $_logQueryTime = 0,05;[/code]

– Esto establece el tiempo mínimo en segundos que determinará qué consultas se registrarán. Esto es útil para encontrar consultas lentas que podrían estar afectando el rendimiento de su tienda. 0,05 segundos es un poco bajo. Recomiendo configurarlo en 1,0 segundos si desea encontrar consultas realmente lentas.

[code language=”php”]protegido $_logAllQueries = falso;[/code]

– Esta variable le dice a Magento que ignore la opción anterior y simplemente registre todo. Magento trabaja mucho con la base de datos, por lo que activar esta opción generará una gran cantidad de datos. Si sólo desea tener una idea general de las operaciones de la base de datos que se realizan al cargar una página específica, puede habilitar esta opción configurándola en “verdadero”.

[code language=”php”]protegido $_logCallStack = falso;[/code]

– Esta opción es útil al depurar módulos personalizados y de terceros porque, además de las consultas, registra un seguimiento de los métodos que llamaron a la consulta. Nuevamente, si ha activado la opción de registrar todas las consultas, esta opción producirá aún más datos para examinar.

Leer:  Cómo (y por qué) lanzar una aplicación móvil Magento en una semana

[code language=”php”]protegido $_debugFile = 'var/debug/sql.txt';[/code]

– Finalmente, tiene la opción de establecer la ubicación del archivo de depuración, que está configurada en (su raíz de Magento)/var/debug/sql.txt de forma predeterminada.

Si decide habilitar esta función para depurar su tienda Magento, asegúrese de limitar el acceso a su sitio web editando la sección correspondiente de su archivo .htaccess. De lo contrario, recibirá una combinación de consultas de los usuarios que naveguen por su sitio.

[code]############################################
## Por defecto permitir todos los accesos
#Pedido permitido, denegar
#Permitir de todos
Orden denegar, permitir
Negar todo
Permitir desde TU.IP.ADDR.ESS[/code]

Además, asegúrese de recordar desactivar la depuración una vez que haya terminado de solucionar el problema; de lo contrario, el tamaño de este archivo de registro se convertirá en un problema en sí mismo. Con suerte, esto le ayudará a descubrir esa elusiva parte de latencia de la base de datos que ralentiza su sitio. ¡Feliz cacería!

Nuevas Publicaciones:

Recomendamos