Enfoque Integral de Rendimiento Web con Grafana y K6

Rate this content
Bookmark

Cuando se escriben pruebas de rendimiento web, las pruebas que se crean a partir de estas herramientas provienen de datos de laboratorio recopilados en entornos predefinidos, dispositivos y configuraciones de red. Los datos de laboratorio te permiten reproducir los resultados de rendimiento de manera repetible, lo que es útil para detectar y solucionar problemas de rendimiento temprano.Sin embargo, los datos de laboratorio ignoran un aspecto muy importante: la experiencia real de tus usuarios al utilizar tus aplicaciones. Los datos de campo, recopilados de usuarios reales en diversas condiciones, reflejan cómo se utiliza tu aplicación en el mundo real y rastrean el rendimiento que experimentan tus usuarios e incluso los errores que encuentran.Los usuarios reales también tienen diferentes comportamientos de usuario, que no se pueden simular de manera realista mediante scripts de prueba o casos de prueba. Los usuarios reales utilizan diferentes dispositivos, condiciones de red, mecanismos de almacenamiento en caché e incluso fuentes de sistema que pueden afectar cómo se carga un sitio.Por lo tanto, aún debes complementar tus herramientas de rendimiento que utilizan datos de laboratorio con datos de campo o soluciones de monitoreo de usuarios reales (RUM) para lograr un enfoque integral en las pruebas de rendimiento web. Una forma de hacer esto es complementando Grafana k6 browser con Grafana Faro.

This talk has been presented at TestJS Summit 2023, check out the latest edition of this JavaScript Conference.

FAQ

Grafana Faro es un SDK web diseñado para recopilar automáticamente registros, errores y otras métricas de rendimiento de aplicaciones. Para empezar, puedes registrarte en una cuenta gratuita de GrafanaCloud, usar el plan gratuito para siempre, y configurar Grafana Faro a través del producto Front End Observability.

Los datos de laboratorio se recogen en un entorno controlado y son útiles para detectar problemas de rendimiento más temprano. Por otro lado, los datos de campo reflejan el rendimiento de un sitio web en condiciones reales de uso, mostrando cómo los usuarios interactúan con el sitio desde diferentes dispositivos y ubicaciones.

Complementar los datos de laboratorio con datos de campo permite obtener una visión realista del rendimiento de un sitio web en condiciones normales de uso, ayudando a detectar problemas que no pueden ser capturados en un ambiente de prueba controlado.

Para configurar Grafana Faro, primero debes crear un proyecto en GrafanaCloud y configurar una instancia del agente Grafana. Luego, integra el SDK web de Grafana Faro en tu aplicación añadiendo la URL de Grafana Faro y exportándola como una variable de entorno.

K6 es una herramienta de pruebas de rendimiento que inicialmente se enfocaba en pruebas de carga. Ahora también soporta pruebas de navegadores, inyección de fallos y pruebas de extremo a extremo, ayudando a detectar problemas de rendimiento antes de que la aplicación llegue a producción.

Grafana Faro recoge y muestra errores en tiempo real, permitiendo a los desarrolladores ver los principales errores que los usuarios experimentan, incluyendo detalles como el navegador o versión del sistema donde ocurrió el error, facilitando así una investigación más detallada y rápida de los problemas.

Marie Cruz
Marie Cruz
21 min
07 Dec, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
La charla de hoy se centró en lograr un enfoque integral de rendimiento web utilizando Grafana y K6. Se destacó la importancia de complementar los datos de laboratorio con datos de campo para pruebas realistas de experiencia de usuario. Se discutió el uso de GrafanaFaro para recopilar métricas de rendimiento e integrarse con otros productos de Grafana OSS. Se proporcionaron instrucciones detalladas sobre cómo configurar GrafanaFaro con la aplicación de muestra QuickPizza. Se explicaron los beneficios de utilizar K6 para reproducir errores, mejorar las pruebas y demostrar las capacidades de prueba del navegador.

1. Introducción a las pruebas holísticas de rendimiento web

Short description:

Hoy compartiré cómo lograr un enfoque holístico del rendimiento web con Grafana y K6. Los datos de laboratorio por sí solos no son suficientes para una experiencia de usuario realista. Complementar los datos de laboratorio con datos de campo es crucial para las pruebas de rendimiento web.

Hola a todos. Mi nombre es Marie Cruz y soy una defensora del desarrollo aquí en Grafana Labs. Hoy me gustaría compartir con ustedes cómo pueden lograr un enfoque holístico del rendimiento web con herramientas como Grafana y K6. Pero primero, si desean una copia de estas diapositivas, siéntanse libres de escanear el código QR que se muestra aquí en mi pantalla.

Entonces, exploremos el problema en el que quiero enfocarme en mi charla de hoy. Las herramientas de pruebas de rendimiento son increíbles. Pero, ¿qué pasa con la experiencia de los usuarios reales? Por ejemplo, las pruebas de rendimiento que se crean con el módulo del navegador Grafana K6 utilizan datos de laboratorio recopilados de entornos, dispositivos y configuraciones de red predefinidos. Los datos de laboratorio te permiten reproducir los resultados de rendimiento de manera repetida, lo que resulta útil para detectar y solucionar problemas de rendimiento más temprano. Sin embargo, los datos de laboratorio no tienen en cuenta algo muy importante, que es la experiencia de usuario real. Los usuarios reales tienen diferentes comportamientos de usuario, que no se pueden simular de manera realista mediante scripts de prueba o casos de prueba. Por eso, es mejor complementar los datos de laboratorio con datos de campo para lograr un enfoque holístico de las pruebas de rendimiento web. Pero creo que primero es muy importante conocer la diferencia entre los datos de laboratorio y los datos de campo para entender por qué ambos son esenciales para las pruebas de rendimiento web.

2. Datos de laboratorio vs Datos de campo en el rendimiento web

Short description:

Los datos de laboratorio se recopilan en un entorno controlado, simulando las interacciones del usuario en un sitio web, mientras que los datos de campo reflejan las condiciones del mundo real. Las métricas pueden diferir entre ambos debido a factores como los parámetros de consulta y los anuncios dirigidos. Los datos de laboratorio son útiles para el desarrollo temprano y las pruebas, permitiendo detectar y solucionar problemas de rendimiento. Proporcionan información sobre configuraciones específicas sin factores externos.

Aquí hay una analogía de un automóvil que puede ayudarnos a ilustrar la diferencia. Imagina que estás testing la velocidad de un nuevo modelo de automóvil en un entorno controlado como una pista de carreras. Tienes un cronómetro y mides qué tan rápido acelera el automóvil, mides cómo frena y mides cómo puede tomar las curvas. Registras estas mediciones de manera consistente sin tráfico, condiciones de la carretera perfectas, y con un conductor muy hábil al volante.

Ahora imagina el rendimiento de un automóvil en carreteras como una calle concurrida de una ciudad o autopistas. Las condiciones de la carretera variarán, habrá tráfico inevitable y diferentes conductores pueden manejar el automóvil de manera diferente. Los datos de laboratorio para el rendimiento web son similares al rendimiento de nuestro automóvil en un entorno idealizado. Los datos de laboratorio se recopilan en un entorno controlado, a menudo con herramientas o scripts especializados que simulan las interacciones del usuario en un sitio web y son útiles para detectar problemas de rendimiento más temprano. Por otro lado, los datos de campo son similares al rendimiento de nuestro automóvil en condiciones reales de la carretera. Los datos de campo reflejan cómo los usuarios acceden a su sitio desde diferentes dispositivos y ubicaciones y bajo diferentes condiciones de red. Estos usuarios también pueden tener diferentes navegadores y velocidades de conexión, al igual que los conductores reales en las carreteras tendrán habilidades y comportamientos diferentes.

Ahora, cuando trabajas con herramientas que utilizan datos de laboratorio, es posible que notes que las métricas de rendimiento web pueden diferir de las generadas por herramientas que utilizan datos de campo. Como ejemplo, cuando ejecutas una prueba de rendimiento web en un entorno de laboratorio, normalmente solo incluyes la URL base de la aplicación web que estás testing. Sin embargo, en el mundo real, diferentes usuarios accederán a un sitio web utilizando diferentes parámetros de consulta o diferentes fragmentos de texto, lo que también puede afectar las métricas de rendimiento web. Cuando tus usuarios acceden a tu sitio web en la vida real, también habrá diferentes anuncios dirigidos según el historial de navegación de tus usuarios, lo que también puede afectar las métricas de rendimiento web. Entonces, ahora has comprendido la diferencia entre los datos de laboratorio y los datos de campo. ¿Cuándo debes usarlos cuando se trata del rendimiento web? Entonces, ambos tipos de datos son valiosos para diferentes propósitos. Los datos de laboratorio son excelentes cuando se utilizan durante las etapas de desarrollo temprano y pruebas. Debido al entorno controlado, los problemas de rendimiento se pueden detectar y solucionar más temprano. Entonces, como ejemplo, si deseas comprender tus métricas de rendimiento en una configuración específica como un dispositivo o un tamaño de pantalla particular, en ese caso, podrías configurarlo de manera controlada sin preocuparte por otros factores externos.