La herramienta APM de Kinsta te ayuda a identificar los cuellos de botella en el rendimiento de PHP en tu sitio de WordPress sin tener que registrarte en servicios de monitorización de terceros como New Relic.

Disponible sin cargo adicional en todos los planes, la herramienta APM puede ser realmente útil cuando se trata de resolver problemas en tu sitio web. La herramienta APM está diseñada para capturar información con fecha y hora sobre los procesos PHP de tu sitio WordPress, consultas a la base de datos MySQL, llamadas HTTP externas y más.

Con los datos de APM, puedes investigar las cargas de páginas lentas específicas para identificar la raíz del problema. Para más detalles sobre la resolución de problemas de rendimiento en tipos específicos de sitios utilizando la herramienta APM, consulta estas guías:

Ten en cuenta que la herramienta APM de Kinsta está específicamente diseñada para ayudarte a monitorizar los sitios de WordPress, por lo que utilizarla para monitorizar un sitio que se ejecuta en otro CMS o framework puede dar lugar a resultados inexactos. Por lo tanto, sólo recomendamos su uso para sitios de WordPress.

Terminología de la herramienta APM

Antes de que nos sumerjamos en el uso de la herramienta APM, definamos algunos términos importantes que se utilizarán más adelante.

APM

APM, abreviatura de «Application Performance Monitoring», es una herramienta que permite conocer las estadísticas de rendimiento y las tendencias de una aplicación. La herramienta APM de Kinsta le proporciona datos procesables sobre el rendimiento de tu sitio de WordPress.

Solicitud

En el contexto de la herramienta APM, una solicitud se refiere a una visita a tu sitio de WordPress que requiere la ejecución de PHP para renderizar. La URL de una solicitud puede incluir varios parámetros de cadena de consulta y desencadenar una transacción correspondiente.

Por ejemplo, una solicitud a yourdomain.com/wp-cron.php?arg=1&arg2=2 desencadenaría una transacción /wp-cron.php.

Transacción

Una transacción se refiere a la actividad de fondo que se produce para servir una solicitud a tu sitio de WordPress. Por ejemplo, la transacción para una solicitud a /wp-login.php contiene los procesos PHP individuales que generan la página de inicio de sesión de tu sitio de WordPress.

Span

Span se refiere a un proceso individual en una transacción. Una sola transacción puede consistir en cientos de tramos dispuestos jerárquicamente.

Por ejemplo, una transacción que genera una página de cuenta para un cliente de WooCommerce puede consistir en un lapso que se desglosa en múltiples períodos de consulta de la base de datos.

Muestra de la transacción

Una muestra de transacción se refiere a una instancia seleccionada de entre muchas peticiones a un punto final de transacción específico (por ejemplo, /single.php, /wp-cron.php, etc.). En la herramienta APM, tendrá tres muestras para elegir.

Por ejemplo, la herramienta APM puede registrar docenas de transacciones /wp-cron.php. En este caso, la herramienta APM escogerá la transacción más lenta y la llamará una muestra de transacción.

Rastreo de la transacción

El rastreo de una transacción es una cronología completa de todos los procesos que se produjeron en una muestra de transacción. En nuestra herramienta APM, el seguimiento de una transacción está representado por una lista de tramos con su correspondiente información de duración y sello de tiempo.

Cronología del seguimiento de una transacción para una muestra de transacción.
Cronología del seguimiento de una transacción para una muestra de transacción.

Rastro de stack

Un rastro de stack es un desglose detallado del proceso para un tramo individual. Los rastros de stack son útiles para una depuración en profundidad. Contienen información muy detallada sobre el código PHP que fue ejecutado, hasta un archivo PHP específico y una línea de código.

Un rastro de stack para un palmo.
Un rastro de stack para un palmo.

¿Cómo activar la herramienta APM de Kinsta?

Por defecto, la herramienta APM está desactivada. Dado que la herramienta APM requiere recursos adicionales del servidor, recomendamos que sólo la habilites cuando estés resolviendo activamente un problema de rendimiento en tu sitio de WordPress.

Para habilitar la herramienta APM, entra en MyKinsta, elige el sitio que quieres monitorizar, navega a la pestaña APM de tu sitio y haz clic en el botón Habilitar APM.

Haz clic en el botón Activar APM para activar la monitorización del rendimiento de las aplicaciones en MyKinsta.
Haz clic en el botón Activar APM para activar la monitorización del rendimiento de las aplicaciones en MyKinsta.

A continuación, selecciona una duración de monitorización para la APM. Puedes elegir entre 2, 4, 12 y 24 horas. Como la APM puede reducir el rendimiento de tu sitio, no recomendamos dejarlo habilitado durante un período de tiempo prolongado. Una vez que hayas seleccionado la duración de la monitorización, haz clic en Activar el tiempo de monitorización para iniciar Kinsta APM.

Selecciona el tiempo de monitorización de APM y habilítalo.
Selecciona el tiempo de monitorización de APM y habilítalo.

Dale a la herramienta entre 5 y 10 minutos para que comience a recopilar datos y luego podrás ver esos datos en la pestaña APM.

Una vez transcurrido el tiempo de monitorización, APM se desactivará automáticamente. Si quieres desactivar la monitorización antes de tiempo, haz clic en el menú kebab (tres puntos) y selecciona Desactivar en el menú desplegable.

Desactivar la monitorización del rendimiento de la aplicación en MyKinsta.
Desactivar la monitorización del rendimiento de la aplicación en MyKinsta.

¿Cómo seleccionar un marco de tiempo de monitoreo?

Por defecto, la herramienta APM proporciona datos de monitoreo de los últimos 60 minutos. Sin embargo, el marco de tiempo de monitoreo es personalizable, y puedes elegir entre las siguientes opciones.

  • 30 minutos
  • 60 minutos
  • 2 horas
  • 4 horas
  • 12 horas
  • 24 horas

Para cambiar esta configuración, haz clic en el botón de periodo de tiempo situado en la parte superior derecha de la página de APM y selecciona una opción en el modal/ventana emergente que aparece. Haz clic en el botón Aplicar marco temporal para establecer el nuevo marco temporal.

Cambia el marco temporal de los datos de monitorización de APM.
Cambia el marco temporal de los datos de monitorización de APM.

¿Cómo actualizar la herramienta APM de Kinsta?

La herramienta APM de Kinsta muestra datos de monitoreo del rendimiento basados en el marco temporal establecido (por ejemplo, los últimos 30 minutos, los últimos 60 minutos, etc.). Para evitar confusiones, la herramienta APM no actualiza los datos automáticamente. Para actualizar la herramienta APM y mostrar los últimos datos del periodo de tiempo seleccionado, haz clic en el icono de actualizar (rehacer) situado junto al botón de periodo de tiempo.

Haz clic en el icono refrescar (rehacer) para actualizar los datos de monitorización de Kinsta APM.
Haz clic en el icono refrescar (rehacer) para actualizar los datos de monitorización de Kinsta APM.

¿Cómo leer la información de la herramienta APM?

Dado que el registro de datos no comienza hasta después de que la herramienta APM haya sido activada, tendrás que darle algún tiempo para reunir datos de rendimiento para tu sitio. Recomendamos esperar de 5 a 10 minutos antes de inspeccionar los datos de monitoreo.

Después de esto, se pueden encontrar datos clave en las pestañas Transacciones, WordPress, Base de datos y Externo, que revisaremos con más detalle a continuación.

Datos de Kinsta APM: Transacciones, WordPress, Base de Datos y Externo.
Datos de Kinsta APM: Transacciones, WordPress, Base de Datos y Externo.

Hay algunas columnas comunes que verás en cada pestaña:

  1. Duración total (%): El porcentaje de tiempo, relativo a la Duración Total, consumido por todas las solicitudes a un endpoint de transacción dentro del marco de tiempo seleccionado. El porcentaje de duración se calcula con los valores de la Duración Total (que es la suma de la duración de todas las solicitudes a un punto final particular), por lo que no representa la duración de una muestra de transacción individual.
  2. Duración total: la cantidad total de tiempo consumido por un punto final de la transacción dentro del marco de tiempo seleccionado. Hay que tener en cuenta que la duración se refiere a la suma de la duración de todas las solicitudes a un punto final determinado, y no representa la duración de una muestra de transacción individual.
  3. Duración máxima: la duración de la muestra de la transacción más lenta del marco temporal seleccionado.
  4. Promedio. Duración: el promedio de todas las duraciones de las muestras de las transacciones del marco temporal seleccionado.
  5. Tasa por Min: El número de veces que una transacción se ha ejecutado de media por minuto en el marco temporal seleccionado.

Al navegar por los datos, también verás estos detalles de datos comunes:

Muestras de transacción

Cuando hagas clic en una transacción, se te presentará un modal que contiene hasta tres muestras de transacciones del marco temporal seleccionado.

    1. Muestra más lenta: la muestra de transacción más lenta.
    2. Percentil 95: una transacción en el percentil 95 (el 95% de las transacciones son más rápidas que esta muestra de transacciones).
    3. Percentil 50: Una transacción que se encuentra en el percentil 50 (el 50% de las transacciones son más rápidas que esta muestra de transacciones), también denominada mediana. Puedes pensar en esto como la duración típica, ya que hay exactamente la misma cantidad de muestras más lentas y más rápidas que ésta.
El modal de ejemplo de transacción en la herramienta APM.
El modal de ejemplo de transacción en la herramienta APM.

Puedes ver una, dos o tres muestras. Por ejemplo, la misma transacción puede ser la muestra más Lenta y la transacción del percentil 95.

El modal/pop-up de muestras de transacciones también muestra información útil sobre cada muestra de transacción, incluyendo la marca de tiempo, el punto final de la transacción, la URL de la solicitud y la duración.

Muestra de Transacción Individual

Si haces clic en una muestra de transacción en el modal, se te llevará a una página dedicada a la muestra seleccionada. Esta página de Muestra de transacción incluye la marca de tiempo de la muestra, el punto final de la transacción, la URL, la duración, el código de estado HTTP y una línea de tiempo completa de seguimiento de la transacción.

Ejemplo de transacción con línea de tiempo de rastreo en la APM de Kinsta.
Ejemplo de transacción con línea de tiempo de rastreo en la APM de Kinsta.
  1. Sello de tiempo: La fecha y la hora de la muestra de la transacción.
  2. Transacción: El punto final PHP de la muestra de la transacción (por ejemplo, /wp-cron.php, /single.php, etc.).
  3. URL: La URL específica de la muestra de la transacción.
  4. Duración: La duración de la muestra de la transacción en milisegundos.
  5. Resultado: El código de estado HTTP de la transacción. Si ves un resultado «HTTP 200«, significa que la transacción fue lenta, pero finalmente exitosa. Sin embargo, si ves un resultado «HTTP 503«, podría significar que la transacción se ha agotado.

Cada muestra de transacción tiene su propio enlace permanente o URL único. Esto hace que sea fácil referenciar y compartir una muestra de transacción específica con tus compañeros, un desarrollador o el equipo de soporte de Kinsta. Nota: Tu colega o desarrollador necesitará tener acceso al sitio en MyKinsta para poder ver la muestra de transacción.

Muestra de transacción enlace permanente.
Muestra de transacción enlace permanente.

Línea de tiempo de rastreo de transacciones

Además de la información básica de la transacción, la herramienta APM también te ofrece una línea de tiempo de seguimiento de la transacción más detallada. Dentro de la línea de tiempo de rastreo de transacciones, puedes ver una presentación paso a paso de los spans – procesos PHP, consultas a la base de datos MySQL, y llamadas externas para una muestra de transacción particular.

Puedes ordenar los tramos por Duración (tiempo) o Duración (%) en orden ascendente o descendente haciendo clic en el nombre de la columna. Esto es útil para identificar rápidamente las transacciones de mayor duración.

Cada tramo también tiene su duración asociada y su relativa marca de tiempo, de modo que se puede identificar rápidamente la parte más larga y problemática de la solicitud.

En relación con la duración total de la muestra de la transacción,:

  • Los tramos con más de un 5% de duración se muestran en naranja
  • Los tramos con una duración superior al 25% se muestran en rojo

Estos aspectos destacados se refieren siempre a la duración relativa del intervalo en el contexto de su propia muestra. Así que si ves algo rojo, siempre ten en cuenta que siempre se compara con esa muestra dada (y tu sitio o aplicación web podría no ser tan lento en su conjunto).

Tened en cuenta que para las consultas de MySQL y Redis, no incluimos los intervalos inferiores a 0,001 ms. Para los spans no relacionados con la base de datos, el umbral es de 1 ms. Excluimos intencionadamente los spans cortos porque el registro de un alto número de elementos rápidos puede afectar el rendimiento de tu sitio y no proporciona datos muy útiles.

Línea de tiempo de rastreo de transacciones para un ejemplo de transacción.
Línea de tiempo de rastreo de transacciones para un ejemplo de transacción.

Esta detallada línea de tiempo de rastreo es muy útil para la resolución de problemas de rendimiento porque te ayuda a identificar exactamente cuál es el cuello de botella.

Por ejemplo, puedes notar que la lentitud cuando se solicita /wp-admin/admin-ajax.php está causada por las largas peticiones a las API de las redes sociales. Con estos conocimientos, puedes continuar probando tu sitio con el plugin social desactivado para ver si marca la diferencia.

Del mismo modo, si ves una transacción lenta a /wp-cron.php que contiene solicitudes HTTP repetitivas iniciadas por un plugin de precarga de caché, puedes actuar rápidamente sobre esa información y desactivar la funcionalidad de precarga de caché.

Detalles de Span

Si haces clic en un lapso de tiempo en la línea de tiempo de rastreo de la transacción, podrás ver un resumen detallado con un rastreo completo de stack e información asociada.

Por ejemplo, si haces clic en un intervalo de consulta de MySQL, verás la consulta de la base de datos que se ejecutó junto con el rastro de stack. Al inspeccionar los detalles del span, puedes obtener un nivel más profundo de conocimiento de las transacciones PHP en tu sitio de WordPress.

Detalles del tramo en la línea de tiempo de rastreo de transacciones.
Detalles del tramo en la línea de tiempo de rastreo de transacciones.

Para obtener ejemplos más específicos de cómo leer y utilizar los datos de la herramienta APM, consulta nuestra guía sobre el Uso de la APM de Kinsta para Diagnosticar Problemas de Rendimiento.

Resultados de la monitorización

En cada una de las pestañas de la página de APM, puedes ver datos específicos para las solicitudes de Transacciones, WordPress, Base de Datos y Externo.

Transacciones

En esta pestaña encontrarás datos sobre el tiempo total de las transacciones y las transacciones más lentas.

Tiempo Total de las Transacciones

El gráfico de barras del Tiempo de Transacción Global te ofrece una representación visual de los datos del tiempo de las transacciones del periodo de tiempo seleccionado. Cada barra consiste en un desglose multicolor de los tiempos de transacción de PHP, MySQL, Redis y externos. El gráfico de Tiempo de Transacción Global también muestra el tiempo de transacción promedio del periodo de tiempo seleccionado en la esquina superior derecha.

Gráfico de barras del Tiempo Total de Transacción de la APM.
Gráfico de barras del Tiempo Total de Transacción de la APM.

Transacciones más lentas

Las diez transacciones PHP más lentas aparecerán en la sección Transacciones más lentas debajo del gráfico de barras Tiempo total de transacción. Además de las columnas comunes, la primera columna de estos datos es la de Transacción, que muestra el punto final de la transacción de las peticiones lentas que consumieron más tiempo de PHP (por ejemplo, /wp-cron.php, /wp-json, etc.).

Transacciones más lentas en la herramienta APM.
Transacciones más lentas en la herramienta APM.

Puedes hacer clic en cada punto final de transacción para ver las muestras de transacción y navegar más allá en cada muestra de transacción individual, línea de tiempo de rastreo, detalles de lapso y rastreo de pila.

WordPress

En la pestaña de WordPress, encontrarás datos específicos de los plugins y hooks de WordPress.

Plugins de WordPress más lentos

Los plugins más lentos registrados aparecen en la parte superior con el slug (nombre de carpeta/directorio) del plugin en la primera columna, y luego el resto de las columnas de datos comunes. Puedes hacer clic en el slug de cada plugin para ver las muestras de transacción y seguir navegando por cada muestra de transacción individual, la línea de tiempo de rastreo, los detalles del lapso y el rastreo de pila.

Hooks de WordPress más lentos

Bajo la lista de plugins de WordPress más lentos, verás la lista de los hooks de WordPress más lentos. Los hooks de WordPress son funciones en temas o plugins que permiten modificar WordPress en puntos específicos del procesamiento del código.

Un hook es una acción o un filtro, y los hooks de esta lista llevan como prefijo su tipo (acción o filtro), seguido del nombre de la función. Al hacer clic en un hook se mostrarán las muestras de transacción, donde puedes seguir navegando por cada muestra de transacción individual, la línea de tiempo de rastreo, los detalles del lapso y el rastreo de pila.

Base de datos

Esta pestaña muestra los datos de las consultas de base de datos más lentas y las transacciones de caché de redis más lentas (si Redis está habilitado).

Consultas a la base de datos más lentas

Las 10 consultas más lentas de la base de datos se muestran en la sección Consultas más lentas de la base de datos. Al hacer clic en una consulta se mostrarán las muestras de transacción, donde se puede navegar más allá en cada muestra de transacción individual, la línea de tiempo de rastreo, los detalles del lapso y el rastreo de pila.

Caché de Redis más lenta

Para los sitios con el complemento Redis, los detalles relacionados con la caché de Redis pueden encontrarse en esta sección. Si tu sitio no tiene instalado el complemento de Redis, no se mostrará ningún dato. Al hacer clic en un elemento de la caché se mostrarán las muestras de transacciones, donde se puede seguir explorando cada muestra de transacción individual, la línea de tiempo del rastreo, los detalles del lapso y el rastreo de la pila.

Externo

Los datos de las peticiones externas que realiza tu sitio se pueden encontrar en la pestaña Externa. Las peticiones externas son peticiones HTTP realizadas por tu sitio a otro sitio o servidor. Estas llamadas suelen ser realizadas por plugins o temas para recuperar o enviar datos o para comunicarse con una API.

Cada URL de la primera columna de la lista va seguida del método HTTP utilizado para la solicitud (GET, POST, PUT, etc.). Al hacer clic en una URL de solicitud, se mostrarán las muestras de transacciones, donde puedes navegar más en cada muestra de transacción individual, la línea de tiempo de rastreo, los detalles del intervalo y el rastreo de pila.

APM FAQ

Hemos recopilado algunas preguntas populares sobre el APM de Kinsta, y les hemos dado respuestas a continuación.

¿Cómo Puedo Activar Kinsta APM?

Kinsta APM está disponible sin coste adicional con todos los planes. Para habilitarlo, es necesario:

  1. Acceder a tu panel de control de MyKinsta
  2. Haz clic en el sitio web que te gustaría depurar
  3. Haz clic en la pestaña Monitoreo
  4. Haz clic en el botón Habilitar APM para iniciar el APM

¿La APM Ralentizará mi Sitio de WordPress?

Al igual que con otras herramientas de APM, agente de Kinsta APM podría añadir carga adicional a los recursos de CPU y RAM de tu servidor y podría potencialmente ralentizar tu sitio de WordPress por un tiempo limitado.

Recomendamos encarecidamente que sólo se habilite el APM cuando se esté diagnosticando activamente un problema de rendimiento en tu sitio.

¿Kinsta sigue soportando el monitoreo personal de New Relic para los clientes con licencias personales de New Relic?

Sí, los sitios de Kinsta aún soportan el monitoreo de New Relic para clientes con licencias personales.

¿Es Posible Usar Kinsta APM y New Relic al Mismo Tiempo?

No recomendamos usar Kinsta APM y New Relic para monitorear al mismo tiempo. Sin embargo, está bien alternar entre la APM y New Relic siempre y cuando ambas herramientas no estén activas al mismo tiempo.

¿Es el APM Compatible con Otras Plataformas y Frameworks de CMS?

En este momento, la APM solo es totalmente compatible con WordPress.

¿Funcionará el APM con Bedrock (u Otros Sitios que Usen Composer)?

Sí, pero si WP-CLI es una dependencia en el archivo composer.json de tu sitio, tendrás que añadírselo a la configuración para que el autoloader de Kinsta pueda trabajar simultáneamente con el autoloader de WP-CLI:

"prepend-autoloader": false

Aquí tienes un ejemplo de array de configuración de un sitio de Bedrock después de añadir la configuración prepend:

"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"prepend-autoloader": false
},

¿Qué Pasa si Veo Algún Comportamiento Inesperado en Mi Sitio Después de Habilitar la APM?

Ya hemos hecho extensas pruebas con diferentes versiones de WordPress y una larga lista de plugins, sin embargo, todavía puede haber arrugas desconocidas que resolver, como que una versión de plugin o algún desarrollo personalizado sea incompatible con nuestra solución de monitorización.

Por esta razón, cuando habilites la función, comprueba siempre que tu sitio funciona bien, y si ves algún comportamiento no deseado, desactiva la función y asegúrate de hacérnoslo saber para que podamos investigar y solucionar el problema.

¿Durante Cuánto Tiempo están Disponibles los Datos de la Herramienta APM?

Los datos de APM se conservan durante 14 días. Para ver los datos de más de 24 horas, haz clic en el botón de periodo de tiempo situado en la parte superior derecha de la página APM, ve a la pestaña Absoluto en el modal/ventana emergente Seleccionar periodo de tiempo, selecciona un periodo de tiempo de 24 horas dentro de los últimos 14 días y haz clic en el botón Aplicar periodo de tiempo.

Resumen

La herramienta APM de Kinsta da contexto a los problemas de rendimiento en tu sitio de WordPress. En lugar de errores genéricos de HTTP 502 o timeouts, la herramienta APM te proporciona desgloses detallados de las peticiones lentas.

Con la herramienta Kinsta APM, podrás depurar los problemas de rendimiento sin necesidad de instalar un plugin como Query Monitor o activar un servicio de terceros como New Relic.

Si estás trabajando con un desarrollador para abordar los problemas de tu sitio de WordPress, la herramienta APM de Kinsta también puede ayudarte a ahorrar tiempo y dinero al proporcionarte un lugar para empezar.