La depuración de problemas de rendimiento en una aplicación es una de las tareas más complejas, averiguar que causa lentitud o que provoca un cuello de botella causa de consumos de CPU puede llegar a ser una tarea imposible.
X-Ray es una herramienta que viene a simplificar todo el proceso de análisis, durante un periodo de tiempo o número de peticiones determinado, analizará en profundidad cada proceso PHP que se genere en la cuenta, desglosando las peticiones SQL, ficheros PHP y funciones involucradas y creando un perfil de tiempo en cada caso y consumo de recursos, logrando de esta forma disponer de una imagen clara acerca del funcionamiento de la web o aplicación que permita al administrador tomar acción.
Accede a X-Ray app en cPanel, y en la zona superior derecha encontrarás el botón "Start tracing", este abrirá un formulario para crear el perfil de depuración.
Si queremos monitorear dominio.com/direccion-lenta, el campo "Specify mask" sería direccion-lenta, si en cambio queremos monitorizar todo, introducimos el carácter asterisco *
El asterisco se podría combinar, por ejemplo queremos monitorizar todas las direcciones que empiecen por clientes, ej dominio.com/clientes/acceso, dominio.com/clientes/comprar, en ese caso podemos insertar en mask: clientes/*
Otros caracteres con funciones especiales son ? y [] que puedes consultar en mayor detalle en el enlace "How to use special characters?", que aparece en el formulario.
Por defecto X-Ray monitorizará 20 peticiones en total que coincidan con el patrón y dominio indicado, si queremos monitorizar un número mayor de peticiones o durante más tiempo, hacemos click en "Advanced settings" para definir el tiempo o número de peticiones.
Finalmente hacemos click en Run y esperamos que X-Ray comience a recopilar y analizar datos, el trabajo aparecerá en el listado y podremos detenerlo de ser necesario.
Podemos esperar a que termine el proceso de monitorización o ver en tiempo real aquellos análisis que X-Ray haya completado
Todas las peticiones aparecerán en un listado que podemos ordenar por tiempo de ejecución y que mostrará con preferencia aquellas que sean consideradas lentas.
Una vez accedemos al reporte de algunos de estos procesos, podremos ver datos como:
Además podrás descargar el reporte en formato PDF para facilitarlo a los desarrolladores.
X-Ray analiza en profundidad los procesos, esto implica que habrá un impacto en el rendimiento durante la ejecución de aquellos accesos que sean analizados, por ese motivo te recomendamos no monitorizar durante largos intervalos de tiempo, hacerlo con pocas peticiones y detener la monitorización cuando recopiles la información que necesitas.
Además, si la cuenta está siendo limitada por los límites de CPU y memoria, esto afectaría a los resultados de depuración que arroja X-Ray, en ese caso la propia herramienta alertará del problema en la petición afectada para que se tenga en cuenta a la hora de evaluar ese reporte.
X-Ray es una herramienta que sin lugar a dudas marca la diferencia en el análisis y resolución de problemas de funcionamiento y rendimiento y que se debe convertir en el indispensable en el arsenal de todo administrador y desarrollador.