Cómo simular decenas de miles de usuarios chateando y no morir en el intento
Alejandro García Montoro
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
- Creando un servicio de búsqueda híbridas (keywords + IA) con tecnologías Open Source (Python, CrateDB y Vue.js)
- Start Time:
- 2024 June 21 10:00
- Room:
- Sala Benalmádena
- Entendiendo el Operador de RabbitMQ
- Start Time:
- 2024 June 21 10:00
- Room:
- Sala Mollina
- Qué es Developer Experience y por qué debería importarnos como ingenieros de software
- Start Time:
- 2024 June 21 10:00
- Room:
- Sala Riogordo 3
- How to Make Your Open Source Project Popular
- Start Time:
- 2024 June 21 10:00
- Room:
- Sala Fuengirola
- AsyncAPI: Design and document your event driven architectures
- Start Time:
- 2024 June 21 10:00
- Room:
- Sala Riogordo 1