Saltar al contenido

LongBOARD: visualización en tiempo real de los KPI de QA

Introducción

En cualquier ecommerce, es necesario asegurarse que los servicios transaccionales y de navegación funcionen como se espera bajo una alta carga de tráfico (esto se refiere a miles de transacciones y visitas simultáneas al sitio). Este es un aspecto importante a tener en cuenta especialmente durante periodos de ofertas y descuentos como Black Friday, Cyber Monday y Navidad.

La forma de garantizar que una tienda online funcione como se espera en estas circunstancias es probar el acceso simultáneo de visitantes en entornos QA (control de la calidad) o Preprod (preproducción) y allí medir los resultados. Para ello, se realizan pruebas de rendimiento.

Puntos débiles en las pruebas de QA

Una de las herramientas que nos permite simular la carga y realizar «load testing» en una tienda online es JMeter. La ejecución de las sesiones de prueba proporciona un registro con los resultados obtenidos en cada ronda de prueba. Este puede ser por ejemplo: el tiempo de respuesta, número de usuarios concurrentes, código de respuesta, URL a la que se ha realizado la solicitud, etc.

Entonces, ¿Cómo se puede analizar este registro de resultados de manera efectiva para obtener una conclusión sobre ellos? La salida de los resultados se presenta en texto sin formato y, por lo tanto, puede ser muy difícil de analizar, es por ello que hemos creado: LongBOARD.

longBoard logo

Características de LongBOARD

¿Qué es exactamente LongBOARD?

LongBOARD es un conjunto de tableros impulsado y desarrollado por Orienteed. Que proporciona visualizaciones en tiempo real de los resultados obtenidos durante la ejecución de las pruebas de rendimiento y carga.

La plataforma detrás del tablero (Grafana + ElasticSearch + LogStash) está disponible y se puede implementar con un solo clic a través del AWS Marketplace.

LongBOARD consta de 2 partes principales:

  • Logstash: Es una ruta para recopilar, filtrar y enviar los resultados generados a partir de la ejecución de la prueba de rendimiento/carga.
  • 3 tableros in Grafana donde puedes visualizar, en tiempo real:
    • Un resumen de resultados.
    • Estadísticas de las solicitudes.
    • Un análisis de los errores.

En la captura de pantalla a continuación, se muestra el tablero con el resumen de resultados de LongBOARD. En este ejemplo, puedes visualizar diferentes KPI que se evaluaron dentro de una sesión de pruebas de carga.

Resumen de resultados de LongBOARD

Como se mencionó anteriormente, también hay dos paneles adicionales que visualizan las estadísticas de las solicitudes y el análisis de los errores encontrados.

Estos tableros se componen de gráficos dinámicos. Esto significa que mediante el uso de filtros dinámicos, puedes seleccionar las transacciones que deseas ver. Por ejemplo, puedes filtrar para ver sólo las solicitudes de inicio de sesión, las solicitudes con un código de respuesta 503, así como para filtrar los resultados por el mensaje de error, etc.

Usando LongBOARD

En esta sección, entraremos en algunos detalles técnicos sobre los pasos específicos para configurar LongBOARD y cómo comenzar a usarlo. Entonces, si estás interesado en comprender cómo se configura LongBOARD, asegúrate de leer a continuación.

¿Cómo configurar la herramienta?

En primer lugar, se deben cumplir estos requisitos:

Pasos para la configuración:

1. Crea la instancia EC2 desde la AMI.

Una vez creada la instancia tendremos:

  • Logstash: Una herramienta para consumir, filtrar y enviar datos a OpenSearch.
  • Archivo de configuración de logstash
  • Index Template: Esta plantilla le dirá a OpenSearch el tipo de datos que se deben ingresar y qué índices debe crear en la base de datos.
  • Imagen acoplable de Grafana lista para usar.
  • Archivo ejecutable: Este archivo ejecutará automáticamente Logstash con los parámetros de configuración necesarios.

2. Conectarse vía SSH a la instancia creada.

3. Ejecuta la imagen de Grafana con el siguiente comando: $ docker start Grafana

4. Abrir Grafana en el navegador: http://public_instance_ip:3000

  • User: admin
  • Password: orienteed

5. Configurar la fuente de datos, vía Configuration > Data sources > OpenSearch. Configurar los siguientes campos:

  • URL: OpenSearch_domain_endpoint:443
  • User: openSearch_user
  • Password: openSearch_password
  • Index name: (el nombre del índice que pones en la línea 30 del archivo de configuración se mencionará más adelante (logstash_csv.fonf)
    Por ejemplo: stress-myWeb-logstash

6. Hacer click en «Save & test». A continuación se muestran algunos de los posibles errores que puedes encontrar:

  • No index exists: esto se debe a que aún no se ha ejecutado logstash y no se ha creado el índice.OpenSearch error: no such index
  • The date field called timeStamp does not exist: esto se debe a que el índice no tiene una plantilla asociada o está vacío.
    No date field named timeStamp found

NOTA: Al crear la fuente de datos y no tener el índice creado en Opensearch, estos errores son normales. Está bien si aparecen, tan pronto como insertes datos, se corregirán automáticamente.

Si todo está bien y no hay errores, aparecerá el siguiente mensaje:Index OK

7. Copia todos los archivos ubicados en el directorio raíz de la instancia al directorio donde está instalado JMeter (puede ser en otra instancia, servidor o PC).

Los siguientes pasos se realizarán en el nuevo destino de los archivos, el directorio donde se encuentra JMeter.

8. Prepara el archivo de configuración de Logstash. Este archivo ejecutará Logstash con todas las configuraciones necesarias.

  • Línea 3: Aquí estará la ruta donde se encuentra el archivo a indexar. Por ejemplo: “/home/ec2-user/jmeter/apache-jmeter-5.4.3/bin/results/test_results_myWeb.csv“.

IMPORTANTE: En tu prueba de rendimiento de JMeter, debes tener a «the listener»: Ver árbol de resultados y configurar la ruta y el nombre del archivo donde se guardarán los resultados. Aquí hay una captura de pantalla de cómo podría verse:

View Results Tree snapshot

  • Línea 27: OpenSearch domain endpoint. El puerto a usar es 443. Por ejemplo: “OpenSearch_domain_endpoint:443”
  • Línea 28: Tu OpenSearch user
  • Línea 29: Tu OpenSearch password
  • Línea 30: Nombre del índice a crear en OpenSearch y donde se guardarán los datos a indexar. Por ejemplo: “stress-myWeb-logstash”

¿Cómo usarlo?

Una vez que todo está configurado, solo necesitas realizar 3 pasos para comenzar a usar LongBOARD.

  1. Run logstash: Para hacer esto, simplemente necesitas ejecutar el siguiente archivo (de los copiados en el paso 7). Es importante asegurarte de que el archivo tenga permisos de ejecución.
    $ ./exec_logstash.sh
  2. Ejecutar la prueba con JMeter.
  3. Ve a la URL de Grafana y estarás listo para ¡visualizar resultados en los tableros de LongBOARD! (http://public_instance_ip:3000)

Conclusión

Es un hecho bien conocido que el control de la calidad (QA) ayuda a las tiendas online a crear y brindar servicios en línea que satisfagan las necesidades, expectativas y requisitos de los clientes. Las prácticas de QA ayudan a las empresas en línea a vender mejor y crear mejores experiencias de compra en línea. También crean confianza y lealtad en los clientes durante campañas importantes como el Black Friday.

Por lo tanto, es vital no solo optimizar tu ecommerce para un evento de ventas tan importante, sino también poder analizar de manera efectiva los datos de las pruebas de estrés y rendimiento. La información procesable que proporciona LongBOARD con sus visualizaciones de tablero permite que los líderes empresariales y tecnológicos comprendan los cuellos de botella y realicen las mejoras necesarias para su negocio.

¿Quieres saber más sobre LongBOARD? ¡Contáctanos hoy aquí!