Explorando el límite de Jitsi Meet: ¿Jitsi es capaz de manejar más de 1000 usuarios en un solo fragmento?
Número máximo de participantes en Jitsi: cómo aumentar la capacidad del servidor Jitsi Meet para más de 1000 usuarios
Introducción:
En nuestro viaje para organizar grandes reuniones virtuales, queríamos determinar la capacidad de un solo fragmento en Jitsi Meet y evaluar su rendimiento en diferentes escenarios. Nos centramos en dos enfoques de investigación distintos: uno implicó organizar una sola conferencia para medir su punto de quiebre, mientras que el otro exploró varias conferencias con un bajo número de participantes en cada una.
Organizar una conferencia individual
Configuración del entorno
Nuestra investigación comenzó con la configuración de nuestro entorno de AWS. Implementamos dos servidores: uno dedicado a Jitsi Meet, que incluía Prosody y Jicofo, y el otro asignado para Jitsi Videobridge (JVB). Para nuestra fase de prueba inicial, optamos por un servidor c6a.large, equipado con 2 vCPU y 4 GB de memoria. Dada la naturaleza de un solo subproceso de Prosody, seleccionamos un servidor optimizado para computación con solo 2 núcleos para manejar la tarea. Para dar cabida a aproximadamente 1000-1500 usuarios, utilizamos un servidor c5a.12xlarge con 48 vCPU y 96 GB de memoria para JVB. Después de una selección minuciosa de servidores, procedimos a instalar Jitsi Meet.
Simulación de la reunión:
En Meetrix, aprovechamos nuestro mecanismo de prueba de carga, utilizando bots para replicar situaciones de reuniones reales con usuarios habilitados para video. Nuestro objetivo era identificar cuándo la reunión tendría problemas.
Al configurar Jitsi Meet, designamos una sala de reuniones dedicada (nombre de la sala: load0) exclusivamente para esta prueba de carga, llena de bots habilitados para video.
En la fase inicial, agregamos gradualmente 50 bots a la vez, hasta llegar a 250 participantes. Monitoreamos de cerca los registros del backend para detectar cualquier anomalía en Prosody, Jicofo, Nginx y JVB. Cuando observamos que las funciones principales de las reuniones funcionaban sin problemas, pasamos a la siguiente fase.
En la segunda fase, continuamos aumentando la cantidad de bots en 50 en cada ronda hasta que alcanzamos los 500 participantes. No hubo problemas de back-end y la funcionalidad de la reunión se mantuvo estable, aunque se notaron pequeños retrasos en la capacidad de respuesta de los botones.
Al pasar a la tercera fase, ampliamos la cantidad de participantes a 750 y seguimos sin encontrar problemas en el backend. Sin embargo, el frontend mostró signos de tensión, incluidas interrupciones ocasionales del video y mayor latencia.
Al llegar a los 1000 participantes en la cuarta fase, el uso de los recursos del servidor, en particular en Prosody, aumentó. Si bien el backend se mantuvo estable, el frontend experimentó un retraso notable, ya que incluso las operaciones básicas, como abrir la barra de herramientas, demoraban más.
A medida que nos acercábamos a los 1250 participantes en la última fase, el rendimiento de la interfaz empeoró. Los problemas de demora y usabilidad se hicieron evidentes, lo que indicaba que habíamos llegado al punto de quiebre del sistema.
Conclusión:
En resumen, nuestras pruebas indican que una sola conferencia en Jitsi Meet sin ninguna personalización puede albergar cómodamente a unos 200-250 participantes sin encontrar problemas. Es importante tener en cuenta que el rendimiento del navegador del equipo anfitrión juega un papel fundamental a la hora de determinar este límite; un rendimiento superior del navegador puede permitir la presencia de más participantes. Tenga en cuenta que si ha realizado alguna personalización en la interfaz, puede afectar al rendimiento y la estabilidad de la reunión, lo que dificultaría alcanzar estos objetivos.
La mayoría de los desafíos encontrados estaban relacionados con el frontend, ya que no se registraron problemas importantes en el backend. Esto sugiere que un solo fragmento de Jitsi Meet puede gestionar eficazmente hasta 1000 participantes, aunque el número preciso puede fluctuar según factores como las condiciones de la red y las capacidades del hardware virtual.
Organizar múltiples conferencias
Configuración del entorno
En nuestro segundo enfoque, empleamos el script Terraform de Meetrix para una instalación rápida y de bajo costo de una configuración de un solo fragmento. Esta configuración constaba de un servidor Jitsi Meet (c6a.large), un servidor Coturn (t3a.micro) y un grupo de escalado automático JVB (cada uno de ellos utilizaba c6a.xlarge). Como se mencionó en el enfoque anterior, continuamos eligiendo servidores optimizados para el cómputo tanto para el servidor Meet como para los servidores JVB.
Simulación de la reunión:
En este enfoque, nuestro objetivo era organizar 100 reuniones, cada una con aproximadamente 10 participantes. Esto nos permitió garantizar que un solo fragmento pudiera gestionar eficazmente 1000 usuarios, incluso con una cantidad sustancial de reuniones simultáneas. Empleamos el mismo mecanismo de prueba de carga que antes, aunque con una cantidad ligeramente menor de bots habilitados para video (75 %) en comparación con el enfoque anterior (100 %).
Introdujimos alrededor de 100 bots en 10 conferencias. En la primera fase, mientras monitoreábamos de cerca los registros del servidor y la consola, ampliamos la capacidad a 500 usuarios y probamos exhaustivamente las funcionalidades básicas de la configuración. Sin problemas informados, avanzamos a la segunda fase, en la que admitimos hasta 1000 participantes y, nuevamente, observamos un funcionamiento fluido sin encontrar ningún problema. En la tercera y última fase, agregamos más bots y, finalmente, llegamos a aproximadamente 1400 participantes distribuidos en 100 reuniones simultáneas. Nos aseguramos cuidadosamente de que las funciones de la reunión funcionaran sin problemas en muchas reuniones. En esta etapa, después de lograr la estabilidad, Prosody parecía consumir casi el 20 % de los recursos de la CPU. Manteniendo esta configuración durante varios minutos sin errores, concluimos la prueba de carga.
Conclusión:
En resumen, nuestras pruebas demuestran que un solo fragmento de Jitsi Meet puede gestionar eficazmente a 1000 participantes sin problemas. Es recomendable utilizar un servidor optimizado para la CPU para Jitsi Meet a fin de maximizar el rendimiento.
A medida que continuamos explorando los límites de las reuniones virtuales, Jitsi Meet sigue siendo una solución sólida con el potencial de una escalabilidad aún mayor en el futuro.