Presented by:

Alejandro García Montoro

from Mattermost

Trabajo en el equipo de servidor de Mattermost, monitorizando y mejorando el rendimiento del backend, y sobre todo me encargo de mantener el load-test tool, una herramienta de load-testing sobre la que hablaré en mi charla. Cuando no estoy trabajando estoy normalmente mirando con admiración y un poco de envidia a Sugus y Oliva, mis dos gatos.

No video of the event yet, sorry!

Hace unos años, en Mattermost, nos hicimos una pregunta: ¿cuántos usuarios podemos tener conectados al mismo tiempo sin que se nos caigan los servidores? Es una pregunta que a priori puede parecer sencilla, pero como veremos durante la charla, llegar a una respuesta fundamentada resulta que no lo es tanto. Después de considerar soluciones genéricas de load tests que tuviéramos que adaptar a nuestras circunstancias particulares, decidimos tomar el camino que más nos gusta: empezar de cero una herramienta que pudiéramos diseñar a medida y sobre la que tuviéramos todo el control. El resultado es un framework de load-testing que nos permite desplegar en la nube toda la infraestructura necesaria de servidores, proxies y bases de datos, máquinas con agentes encargados de simular usuarios realistas y un sistema de monitorización en tiempo real para saber lo que está pasando a nivel de proceso, de servidor y de red. En esta charla veremos cómo apoyándonos en los hombros de gigantes como Terraform, Prometheus, Grafana y Pyroscope, además de en Go y todo su ecosistema, un equipo pequeño como el nuestro es capaz de mantener una herramienta de load-testing que usamos a diario para monitorizar y mejorar el rendimiento de Mattermost. Hablaremos de performance, de métricas, de dashboards, de flamegraphs y de cómo resulta que lo más complejo de todo esto es, como no podía ser de otra manera, conseguir simular un usuario que se parezca aunque sea un poquito a un usuario real.

Date:
2024 June 21 - 10:00
Duration:
45 min
Room:
Sala Canillas
Conference:
OpenSouthCode 2024
Language:
Spanish; Castilian
Track:
Difficulty:
Medium

Happening at the same time:

  1. Creando un servicio de búsqueda híbridas (keywords + IA) con tecnologías Open Source (Python, CrateDB y Vue.js)
  2. Start Time:
    2024 June 21 10:00

    Room:
    Sala Benalmádena

  3. Entendiendo el Operador de RabbitMQ
  4. Start Time:
    2024 June 21 10:00

    Room:
    Sala Mollina

  5. Qué es Developer Experience y por qué debería importarnos como ingenieros de software
  6. Start Time:
    2024 June 21 10:00

    Room:
    Sala Riogordo 3

  7. How to Make Your Open Source Project Popular
  8. Start Time:
    2024 June 21 10:00

    Room:
    Sala Fuengirola

  9. AsyncAPI: Design and document your event driven architectures
  10. Start Time:
    2024 June 21 10:00

    Room:
    Sala Riogordo 1