Requisiti del server BigBlueButton: una guida pratica al dimensionamento per 500 utenti simultanei

Esempio pratico: immaginiamo un college comunitario fittizio che prevede la presenza online simultanea di 500 persone, suddivise in cinque classi di circa 100 partecipanti ciascuna. Questo è un esempio di pianificazione, non un benchmark, un caso di studio o un risultato di un test. La scelta progettuale fondamentale è quella di dimensionare il sistema per gestire più riunioni distribuite su diversi server; una singola riunione con 500 partecipanti presenta un profilo di rischio differente.

Una fila di rack per server a tutta altezza in un corridoio di un data center, che rappresenta l'infrastruttura in grado di ospitare un cluster BigBlueButton.
La pianificazione della capacità dei server inizia con risorse di calcolo dedicate, margine di rete e una stima precisa del numero di riunioni previste.

Quali sono i requisiti ufficiali di BigBlueButton?

La guida di installazione di BigBlueButton attualmente disponibile elenca i requisiti minimi di produzione per un server dedicato: Ubuntu 22.04 a 64 bit, 8 core CPU con elevate prestazioni single-thread, 16 GB di memoria con swap abilitato e una larghezza di banda simmetrica di almeno 250 Mbit/s. Richiede inoltre almeno 500 GB di spazio libero su disco se si desidera conservare le registrazioni, o 50 GB se la registrazione è disabilitata. La guida richiede anche le porte TCP pubbliche 80 e 443, le porte UDP da 16384 a 32768, un nome host e un certificato SSL valido, nonché il supporto per IPv4 e IPv6. Questi sono i requisiti minimi di installazione per un server; non garantiscono la capacità per una specifica configurazione di riunioni. Consultare la pagina di installazione per la versione che si intende implementare, poiché i requisiti del sistema operativo e dei pacchetti possono variare.

Le FAQ del progetto hanno storicamente indicato circa 200 utenti simultanei come regola generale per un server che soddisfi i requisiti minimi. Si tratta di un riferimento di pianificazione approssimativo, non di una garanzia di livello di servizio o di un limite universale per nodo. BigBlueButton stesso avverte che CPU, memoria, larghezza di banda, utilizzo di webcam e condivisione schermo, configurazione e versione del software del server influenzano il risultato. Considerate la cifra di 200 utenti come un'ipotesi iniziale che dovrà essere validata dal vostro carico di lavoro.

Un punto di partenza pratico per 500 utenti simultanei

Per il college immaginario, un'architettura iniziale ragionevole da valutare è un cluster BigBlueButton a quattro nodi, in cui ogni nodo multimediale soddisfa o supera i requisiti minimi di produzione attuali e utilizza una CPU dedicata ad alta frequenza. Con 500 partecipanti distribuiti uniformemente, si ottiene una media di 125 partecipanti per nodo. Il quarto nodo offre margine per la gestione di un posizionamento non uniforme delle riunioni e per la pianificazione della manutenzione; non garantisce una protezione automatica per una riunione già in corso su un server guasto.

ComponenteObiettivo di pianificazione inizialePerché è importante
Nodi multimediali BigBlueButton4 server dedicati; ciascuno con almeno 8 potenti core CPU e 16 GB di RAMConsente di separare le attività multimediali in diretta e offre più spazio per gestire più riunioni rispetto a un singolo host di dimensioni minime.
Nodo multimediale di reteUna capacità simmetrica di almeno 1 Gbit/s è un obiettivo prudente da valutare; è bene tenere in considerazione il minimo ufficiale di 250 Mbit/s.Audio, webcam, condivisione dello schermo e download dei partecipanti utilizzano tutti la capacità di rete. Misura la velocità di trasmissione di picco effettiva e la perdita di pacchetti.
Disco e registrazioniAlmeno 500 GB di spazio libero per nodo se la registrazione avviene localmente, come indicato nella guida all'installazione; altrimenti, valutare il minimo di 50 GB senza registrazione.La crescita della capacità di registrazione dipende dalla durata, dal numero di sessioni e dalla conservazione dei dati. Pianificate separatamente la capacità di archiviazione.
Instradamento del clusterUno scaler o un bilanciatore di carico supportato e ottimizzato per le riunioni, oltre a una configurazione client/proxy comune e collaudata, ove necessario.Le nuove riunioni devono essere assegnate a un nodo, mentre ogni riunione in corso rimane sul server a essa assegnato.

La raccomandazione di utilizzare quattro nodi è un punto di partenza ingegneristico dedotto dalla configurazione minima ufficiale e dalla vecchia regola empirica dei 200 utenti. BigBlueButton non pubblica una specifica universale che certifichi quattro server specifici per ogni carico di lavoro di 500 utenti. Ad esempio, se un server non è disponibile, gli altri tre gestirebbero in media circa 167 dei 500 utenti solo se le riunioni possono essere riassegnate o gli utenti si riconnettono e i server rimanenti rimangono entro i limiti testati. Una riunione attiva su un nodo non disponibile non migra in modo trasparente su un altro nodo. Se la disponibilità durante il guasto di un nodo è fondamentale, testare la procedura di ripristino e valutare una capacità aggiuntiva rispetto a questo semplice modello.

Perché cinque classi da 100 persone sono diverse da un incontro da 500 persone

I cluster BigBlueButton distribuiscono le riunioni tra i server. Non combinano più nodi in un unico processore multimediale condiviso per una singola riunione. Cinque classi da 100 partecipanti possono essere organizzate come riunioni complete su quattro server, ma una singola classe da 500 partecipanti verrebbe comunque eseguita su un singolo server BigBlueButton. Le FAQ del progetto, con le relative versioni, sconsigliano di trattare una singola riunione con oltre 200 utenti come un normale utilizzo supportato. Se è richiesto un pubblico di 500 persone, è necessario convalidare la configurazione esatta con il team di BigBlueButton o un fornitore qualificato; valutare se l'evento può essere suddiviso in stanze interattive più piccole o trasmesso come una trasmissione separata con interazione limitata tra i partecipanti.

Anche la composizione fittizia della classe è importante. Se la maggior parte degli studenti ascolta l'audio e guarda le diapositive mentre solo i docenti condividono le webcam, il carico multimediale può essere molto inferiore rispetto a una riunione in cui molti partecipanti attivano le webcam e condividono lo schermo. Nelle sue FAQ, BigBlueButton fornisce esempi di bitrate delle webcam in base alla risoluzione e un metodo per stimare il traffico in entrata e in uscita dal server in base al numero di webcam che pubblicano e di utenti che le visualizzano. Utilizzate questo modello per creare una prima stima della larghezza di banda, ma includete audio, segnalazione, condivisione dello schermo, ritrasmissioni e overhead di protocollo. Non moltiplicate 500 per un bitrate ipotizzato e non chiamate il risultato "piano di capacità".

Rete, stanze e registrazioni da includere nella progettazione

Offrire un percorso diretto al traffico multimediale

Utilizzate una configurazione di rete che permetta ai client del browser di raggiungere ciascun nodo multimediale assegnato tramite le porte TCP e UDP necessarie. La documentazione del cluster proxy di BigBlueButton spiega che i flussi multimediali e le connessioni WebSocket vengono scambiati direttamente con il server che ospita la conferenza; il proxy comune si occupa principalmente di inoltrare l'interfaccia client e le relative risorse web. Un reverse proxy che instrada accidentalmente tutti i flussi multimediali attraverso un unico gateway di piccole dimensioni può diventare il collo di bottiglia. Prima del test di carico, verificate le regole del firewall, gli indirizzi pubblici, il DNS, i certificati e la larghezza di banda in entrambe le direzioni.

La dimensione dello spazio di archiviazione delle registrazioni si basa sulla conservazione, non sul numero dei partecipanti.

Per l'esempio del college, stimate il numero e la durata delle lezioni registrate al giorno, quindi misurate le dimensioni di registrazioni rappresentative a partire dalla versione e dalle impostazioni effettive. Moltiplicate la produzione giornaliera prevista per i giorni di conservazione e aggiungete un margine operativo. La raccomandazione di 500 GB di spazio libero indicata nella guida all'installazione è un minimo iniziale, non una garanzia che una particolare politica di conservazione sia adatta. Monitorate lo spazio libero e le code di elaborazione delle registrazioni e spostate i file archiviati solo tramite un flusso di lavoro testato.

Come convalidare la stima prima del lancio

  1. Descrivi il carico di lavoro. Indica il numero previsto di utenti simultanei, riunioni, utenti per riunione, utenti che pubblicano e visualizzano webcam, condivisioni schermo, utilizzo audio, criteri di registrazione, durata della sessione e picchi di partecipazione. Utilizza l'esempio con cinque classi solo se rispecchia il tuo schema reale.
  2. Scegli nodi equivalenti a quelli di produzione. Verifica che la generazione e il comportamento della CPU, la memoria, il sistema operativo, il percorso di rete, lo storage e la versione di BigBlueButton corrispondano. Le istanze condivise o con CPU limitata possono comportarsi in modo diverso rispetto alle istanze dedicate.
  3. Sperimenta con carichi di lavoro graduali. Inizia con un piccolo gruppo, poi aumenta progressivamente il numero di partecipanti simultanei utilizzando telecamere, audio, diapositive, condivisione dello schermo e registrazioni realistiche. Includi un periodo di accesso sincronizzato anziché una riunione a regime continuo.
  4. Monitora contemporaneamente i segnali visibili all'utente e le metriche del server. Tieni traccia della saturazione della CPU e della coda di esecuzione, della pressione della memoria e dello swap, del throughput di rete e della perdita di pacchetti, dello spazio su disco e dell'I/O, dei riavvii dei servizi e dei sintomi delle riunioni come audio ritardato o interrotto, video bloccato, condivisioni non riuscite o cicli di riconnessione.
  5. Ripeti i test di picco e di ripristino. Mantieni il picco previsto abbastanza a lungo da rilevare eventuali problemi termici o di memoria, quindi verifica cosa accade quando un nodo diventa non disponibile. Assicurati che le nuove riunioni vengano instradate verso nodi funzionanti e documenta come gli utenti interessati si riconnettono.
  6. Definisci un limite operativo di sicurezza. Basa il limite di utenti simultanei pubblicato su test ripetibili con capacità di riserva, non sulla prima esecuzione riuscita. Esegui nuovamente i test dopo aggiornamenti software, modifiche alle policy della webcam, alla configurazione di registrazione o all'hardware di hosting.

In sintesi, per un'implementazione con 500 utenti

Per 500 partecipanti simultanei distribuiti su diverse riunioni ordinarie, si consiglia di iniziare la valutazione con quattro nodi multimediali BigBlueButton dedicati, ciascuno dei quali soddisfi i requisiti minimi di produzione ufficiali, e una solida configurazione cluster ottimizzata per le riunioni. È opportuno prevedere un budget generoso per la capacità di rete, pianificare lo spazio di archiviazione delle registrazioni in base alle effettive esigenze di conservazione e testare la combinazione esatta di sale e supporti multimediali. Questa configurazione rappresenta un'ipotesi di dimensionamento, non la prova che una determinata istanza cloud possa supportare 500 utenti. Una singola sala da 500 persone rappresenta un carico di lavoro diverso e non deve essere dedotta dal totale del cluster.

Riferimenti ufficiali

Lascia un commento

Ingresso vs. Uscita: qual è la differenza nelle reti?

Ingresso vs. Uscita: qual è la differenza nelle reti?

Comprendere come i termini "ingress" e "egress" descrivono il traffico in entrata e in uscita, perché la direzione dipende dal confine della rete e come monitorare la larghezza di banda e individuare i trasferimenti di dati rischiosi.

6 migliori server Syslog gratuiti da provare per la registrazione centralizzata dei log

6 migliori server Syslog gratuiti da provare per la registrazione centralizzata dei log

Confronta sei server e collettori syslog gratuiti per Windows e Linux, inclusi strumenti con interfaccia grafica, opzioni open source, funzionalità di ricerca, avvisi e trasporto sicuro.

Cos'è IIS? Il server Web Windows di Microsoft e le sue alternative.

Cos'è IIS? Il server Web Windows di Microsoft e le sue alternative.

Scopri cosa fa Microsoft IIS, come funzionano la sua pipeline di richieste e i pool di applicazioni e quando Apache, NGINX o Caddy potrebbero essere più adatti alle tue esigenze di server web.

Risolvere l'elevato utilizzo della CPU in Jitsi Meet sui browser client.

Risolvere l'elevato utilizzo della CPU in Jitsi Meet sui browser client.

Diagnostica i picchi di utilizzo della CPU del browser Jitsi Meet e riduci il carico del client controllando i riquadri video, gli effetti della fotocamera, la grafica del browser e le impostazioni dell'host.

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Monitora lo stato di salute, il carico della conferenza e il traffico di Jitsi Videobridge con il suo endpoint Prometheus integrato, quindi esplora e visualizza i dati in Grafana.

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Configura un dominio personalizzato per Jitsi Meet Docker con DNS, URL pubblico, HTTPS, Let's Encrypt, porte del firewall, impostazioni NAT e verifica end-to-end.

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 errors after SSL renewal by checking the correct URL and port, proxy routing, service status, deployed certificates, and logs.

Risolvere l'avviso di Nextcloud "PHP OPcache non è configurato correttamente".

Risolvere l'avviso di Nextcloud "PHP OPcache non è configurato correttamente".

Scopri come diagnosticare e risolvere l'avviso di configurazione di PHP OPcache di Nextcloud controllando l'SAPI PHP attivo, i limiti di dimensionamento, i commenti e le impostazioni di riconvalida.

Risolvere gli errori di migrazione del database Kopano dopo un aggiornamento della versione di MySQL

Risolvere gli errori di migrazione del database Kopano dopo un aggiornamento della versione di MySQL

Risolvere i problemi di migrazione del database Kopano dopo un aggiornamento di MySQL o MariaDB verificando i backup, le versioni del server, le modalità SQL, il set di caratteri, lo stato dello schema e i log.

Come configurare l'autenticazione LDAP e Active Directory in Nextcloud

Come configurare l'autenticazione LDAP e Active Directory in Nextcloud

Collega Nextcloud a LDAP o Active Directory con trasporto sicuro, filtri per utenti e gruppi, attributi di accesso e un'implementazione collaudata.