Saltar al contenido
Portada » Blog » 🖥️ Carlos Gauto – CharlyAutomatiza 👉 De Datos a Decisiones: Visualización de Pruebas de Performance con K6 y Grafana

🖥️ Carlos Gauto – CharlyAutomatiza 👉 De Datos a Decisiones: Visualización de Pruebas de Performance con K6 y Grafana

👉 De Datos a Decisiones: Visualización de Pruebas de Performance con K6 y Grafana

Analiza a detalle el rendimiento de tus aplicaciones con K6 y Grafana. Aprende a diseñar pruebas de Performance, visualizar resultados en dashboards personalizados y tomar decisiones en base a métricas para optimizar tus sistemas.

Carlos Gauto – CharlyAutomatiza
🖥️ Carlos Gauto – CharlyAutomatiza 👉 De Datos a Decisiones: Visualización de Pruebas de Performance con K6 y Grafana

Únete a las actividades que realizaremos

Summary of «From Data to Decisions: Visualizing Performance Tests with K6 and Grafana»

Charlie (Carlos Gauto) presents a talk about visualizing performance tests with k6, Grafana, and Prometheus.

The main points are:

  • Introduction: Charlie introduces himself, mentions his experience and social media. The agenda is introduced: why measure performance, introduction to k6, Grafana, and Prometheus, designing tests with k6, configuring and visualizing metrics with Grafana and Prometheus, a demo, and final observations.
  • Importance of measuring performance: It is highlighted that performance is crucial for user experience, affecting conversion and retention. It is mentioned that one-second delays can decrease conversion and that performance problems can generate significant economic losses. A link to an article with more details is provided.
  • Introduction to the tools:
    • Grafana: Open-source data visualization platform that allows creating interactive dashboards with different graphs and tables, compatible with multiple platforms and data sources. It allows collaboration and the use of dashboards shared by the community.
    • Prometheus: Open-source monitoring system that collects and stores performance metrics, allowing analysis of trends and patterns over time. It allows tagging metrics and creating alerts for abrupt variations.
    • k6: Open-source tool for performance testing based on JavaScript (and TypeScript) code. It allows load testing, browser testing, fault injection in Kubernetes, synthetic tests, and infrastructure testing.
  • Designing performance tests with k6: A «Hello World» example with k6 is shown to perform a GET to an API, including the sleep function to emulate user behavior. It is explained how to emulate demand with virtual users (VU) and test duration using the options constant with vus and duration. The concept of stages is introduced to emulate traffic fluctuations over time. The use of thresholds to define performance thresholds (e.g., HTTP error tolerance, response time) and checks to perform functional validations within performance tests is explained.
  • k6 web report and the need for long-term visualization: It is mentioned that k6 generates a local HTML report with general metrics, but the need to use Grafana and Prometheus to visualize metrics over time and analyze multiple executions is emphasized.

Repository with configuration: A public Grafana repository with Grafana and Prometheus instances and an example web application for testing is provided. The requirements are mentioned: Git client, Docker.

Únete a las actividades que realizaremos

Resumen de «De Datos a Decisiones: Visualización de Pruebas de Performance con K6 y Grafana»

Charlie (Carlos Gauto) presenta una charla sobre la visualización de pruebas de performance con k6, Grafana y Prometheus.

Los puntos principales son:

  • Introducción: Charlie se presenta, menciona su experiencia y sus redes sociales. Se introduce el temario: por qué medir la performance, introducción a k6, Grafana y Prometheus, diseño de pruebas con k6, configuración y visualización de métricas con Grafana y Prometheus, una demo y observaciones finales.
  • Importancia de medir la performance: Se destaca que el rendimiento es crucial para la experiencia del usuario, afectando la conversión y la retención. Se menciona que demoras de un segundo pueden disminuir la conversión y que problemas de performance pueden generar pérdidas económicas significativas. Se provee un enlace a un artículo con más detalles.
  • Introducción a las herramientas:
    • Grafana: Plataforma de visualización de datos open source que permite crear dashboards interactivos con diferentes gráficos y tablas, compatible con múltiples plataformas y fuentes de datos. Permite la colaboración y el uso de dashboards compartidos por la comunidad.
    • Prometheus: Sistema de monitoreo open source que recopila y almacena métricas de rendimiento, permitiendo analizar tendencias y patrones a lo largo del tiempo. Permite etiquetar métricas y crear alertas ante variaciones bruscas.
    • k6: Herramienta open source para pruebas de performance basada en código JavaScript (y TypeScript). Permite pruebas de carga, pruebas de navegador (browser testing), simulación de fallos en Kubernetes (fault injection), pruebas sintéticas y pruebas sobre la infraestructura.
  • Diseño de pruebas de performance con k6: Se muestra un «Hola Mundo» con k6 para realizar un GET a una API, incluyendo la función sleep para emular el comportamiento del usuario. Se explica cómo emular la demanda con usuarios virtuales (VU) y la duración de la prueba usando la constante options con vus y duration. Se introduce el concepto de stages para emular fluctuaciones de tráfico en el tiempo. Se explica el uso de thresholds para definir umbrales de rendimiento (ej. tolerancia a errores HTTP, tiempo de respuesta) y checks para realizar validaciones funcionales dentro de las pruebas de performance.
  • Reporte web de k6 y la necesidad de visualización a largo plazo: Se menciona que k6 genera un reporte HTML local con métricas generales, pero se enfatiza la necesidad de usar Grafana y Prometheus para visualizar las métricas a lo largo del tiempo y analizar múltiples ejecuciones.

Repositorio con configuración: Se proporciona un repositorio público de Grafana con instancias de Grafana y Prometheus, y una aplicación web de ejemplo para realizar las pruebas. Se mencionan los requerimientos: cliente Git, Docker.

Carlos (CharlyAutomatiza) Gauto

Project Leader @ Mercado Libre | Speaker | Microsoft MVP | CharlyAutomatiza.tech