Moodle e utenti contemporanei: dimensioniamo la piattaforma su ciò che gli utenti fanno nello stesso momento.
Il numero totale degli iscritti non determina da solo il carico. Analizziamo picchi, attività, SCORM, quiz, report, login, PHP, database, Redis e storage.
Il numero totale degli account non determina da solo il carico della piattaforma.
Ventimila utenti registrati con poche decine di accessi simultanei possono essere meno impegnativi di una piattaforma più piccola con centinaia di persone che entrano nello stesso minuto.
Un utente loggato non equivale automaticamente a un utente che sta generando carico.
Due utenti contemporanei non generano necessariamente lo stesso carico.
Lettura e navigazione.
Carico generalmente più leggero rispetto a operazioni con molte scritture.
Asset e tracking.
Download di contenuti, richieste runtime e salvataggi possono aumentare la concorrenza.
Scritture e query.
Invii simultanei o aggregazioni pesanti possono spostare il collo di bottiglia sul database.
Cento utenti non definiscono una configurazione server: definiscono soltanto una quantità.
Cento utenti che leggono un corso, cento che avviano uno SCORM e cento che consegnano un quiz sono tre scenari tecnici diversi.

Con centinaia di utenti simultanei diventano centrali PHP, database, sessioni, cache e storage.
Il dimensionamento dipende da ramp-up, durata del picco e attività. Non assegniamo una configurazione fissa soltanto dal numero 500.
Approfondisci Requisiti Server Moodle.
Quando cresce la concorrenza può cambiare anche l’architettura, non soltanto la quantità di CPU e RAM.
A seconda del carico possiamo valutare server singolo ad alte prestazioni, separazione dei servizi, Redis, database dedicato o architetture multi-node.
Alle 9:00 tutti ricevono il link e accedono insieme: è uno scenario di picco specifico.
Autenticazione, database, sessioni, Redis, SSO e servizi esterni possono essere coinvolti nello stesso percorso.

Dopo il login il carico continua: pagina corso, plugin, file, immagini, JavaScript e attività devono essere serviti insieme.
La sequenza reale degli utenti è più utile di un semplice numero di sessioni attive.
Un test iniziato e consegnato quasi nello stesso momento concentra il carico in finestre temporali strette.

Download degli asset, tracking e richieste runtime rendono lo SCORM uno scenario da misurare sul pacchetto reale.
Peso, numero di file, video e frequenza di salvataggio modificano il profilo di carico.
Approfondisci Moodle SCORM.
Se Moodle serve direttamente i video, il picco può diventare anche un problema di banda e storage.
Quando il media viene distribuito da un servizio esterno, il profilo di carico cambia perché il server Moodle non trasporta necessariamente tutto il flusso video.
Approfondisci Vimeo SCORM.
Non esistono soltanto gli utenti contemporanei: esistono anche i processi contemporanei.
Un report molto pesante lanciato durante una sessione formativa può competere con centinaia di studenti per database e CPU.
Approfondisci Reportistica eLearning.


Task e sincronizzazioni possono lavorare mentre gli studenti stanno usando la piattaforma.
La capacità del server deve considerare anche processi schedulati, plugin e automazioni che competono per le stesse risorse.
Approfondisci Moodle Cron.
CPU, database e I/O possono essere utilizzati da backup nello stesso momento in cui gli utenti stanno lavorando.
Pianificazione e durata devono essere coerenti con le finestre operative e con il comportamento dello storage.
Approfondisci Backup LMS.
Troppi pochi processi possono creare una coda. Troppi processi senza RAM sufficiente possono creare un problema diverso.
Worker, memoria per processo, CPU e richieste concorrenti devono essere dimensionati insieme.

Il picco deve essere sostenibile senza esaurire capacità di elaborazione o memoria.
Richieste concorrenti.
Core, frequenza e lavoro per richiesta determinano la capacità di elaborazione.
PHP + database + Redis.
Ogni servizio deve avere memoria sufficiente senza spingere il sistema in pressione.
Non dimensioniamo sul limite.
Serve margine per picchi imprevisti e processi paralleli.
Approfondisci Requisiti Server Moodle.

Con più utenti contemporanei aumentano query, connessioni, letture e scritture concorrenti.
Indici, lock, query custom, cache e I/O determinano quanto bene il database riesce a sostenere il picco.
Redis può aiutare sessioni e cache, ma non aumenta magicamente il numero di utenti supportati.
Lo introduciamo o ottimizziamo quando il collo di bottiglia e l’architettura rendono utile il datastore in memoria.
Approfondisci Redis Moodle.

Molti utenti connessi contemporaneamente significano anche molte sessioni da mantenere in modo affidabile.
Il session store deve essere coerente con numero di nodi, durata delle sessioni e requisiti di disponibilità.

Molti utenti possono leggere gli stessi contenuti nello stesso momento: storage e rete devono sostenere le richieste.
I/O, NFS, storage remoto e backup concorrenti entrano nel comportamento complessivo della piattaforma.
Approfondisci MoodleData.
Una piccola inefficienza moltiplicata per centinaia di richieste contemporanee può diventare un problema grande.
Query aggiuntive, API esterne, task e codice custom devono essere osservati sotto il carico che il plugin incontrerà realmente.
Approfondisci Plugin Moodle.


Se ogni login o iscrizione chiama un servizio esterno, anche quel servizio entra nello scenario di picco.
CRM, SSO, ecommerce e API remote possono aggiungere latenza o diventare un limite indipendente dal server Moodle.
Approfondisci Integrazioni Moodle.
“È lento sempre” e “è lento solo quando entrano tutti” sono due diagnosi completamente diverse.
Se il rallentamento appare soltanto sotto picco, concorrenza e capacity planning diventano centrali.
Approfondisci Moodle lento.

Richieste in coda, CPU alta, memoria esaurita e timeout durante i picchi possono indicare capacità insufficiente.
La diagnosi deve però distinguere un server realmente insufficiente da software, query o configurazioni inefficienti.
Approfondisci Server Moodle.
Più hardware non compensa automaticamente un collo di bottiglia software.
Query lente, plugin, storage, API o configurazioni possono mantenere tempi elevati anche su macchine con molta CPU e RAM.
Approfondisci Ottimizzazione Moodle.

Un test utile riproduce una sequenza reale, non soltanto un numero di richieste artificiali.
Login, apertura corso, SCORM, quiz e submit possono essere combinati nello scenario da osservare, misurando tempi, errori e saturazione.
Cinquecento utenti distribuiti in un’ora non equivalgono a cinquecento utenti che arrivano in trenta secondi.
La velocità con cui arriva il carico è importante quanto la quantità di utenti, perché determina la concentrazione delle richieste.
Un picco di cinque minuti e cinquecento utenti attivi per otto ore richiedono strategie differenti.
Durata, frequenza e prevedibilità del carico entrano nel dimensionamento insieme al valore massimo.
CPU, RAM e storage possono essere aumentati finché l’architettura e il provider lo consentono.
È spesso il primo livello di crescita, ma non risolve ogni limite e va verificato sul carico reale.
Quando serve, più nodi web possono distribuire il lavoro applicativo.
Sessioni, database e MoodleData devono però essere progettati per funzionare in un’architettura multi-node.
Approfondisci High Availability LMS.

Distribuire le richieste web non elimina automaticamente un collo di bottiglia condiviso.
Database, storage e servizi comuni devono essere in grado di sostenere il nuovo livello di concorrenza; per questo multi-node e database separato si progettano insieme al resto dello stack.

È durante il momento critico che dobbiamo osservare cosa si satura realmente.
CPU, RAM, PHP, query, database, Redis, storage e tempi di risposta permettono di correlare sintomo e risorsa.
Approfondisci Monitoraggio LMS.
Dimensioniamo il picco di oggi e pianifichiamo quello dei prossimi mesi.
Utenti, corsi, SCORM, dati e attività possono crescere. Il margine di capacità deve essere coerente con la roadmap senza trasformarsi in risorsa inutilizzata.
Non chiediamo soltanto quanti utenti entreranno. Ricostruiamo cosa succederà nei minuti in cui entreranno.
Quando un cliente mi dice “deve supportare 500 utenti”, la domanda successiva è sempre: 500 utenti facendo cosa?
È da lì che comincia il dimensionamento vero.
Il mio obiettivo è rendere stabile l’esperienza degli utenti anche nei momenti di massimo carico, senza trasformare il dimensionamento in una lista di numeri scollegati dal processo.
Cosa dicono i clienti che lavorano con Atlas Learning.
Le recensioni vengono mostrate dinamicamente tramite Trustindex.
Domande frequenti su concorrenza, picchi e scalabilità Moodle.
Quanti utenti contemporanei può gestire Moodle?
Non esiste un numero universale. Dipende da hardware, software, attività, database, plugin, storage, cache e dalla velocità con cui gli utenti arrivano.
Moodle può gestire 100 utenti contemporanei?
Sì in molti scenari, ma il dimensionamento dipende da cosa fanno quei 100 utenti e da quanto il carico è concentrato.
Moodle può gestire 500 utenti contemporanei?
Può farlo con un’architettura adeguata allo scenario. Cinquecento utenti in lettura e cinquecento utenti che consegnano un quiz non sono equivalenti.
Moodle può gestire 1000 utenti contemporanei?
Sì in architetture correttamente dimensionate, ma può essere necessario separare servizi o distribuire il carico a seconda delle attività e dei requisiti.
Quanta RAM serve per molti utenti?
Dipende da PHP, database, Redis, numero di processi e attività simultanee. Il valore va calcolato sul carico previsto.
Quanti core servono per molti utenti?
Dipende dal costo delle richieste, dalla concorrenza e dalla parte di lavoro svolta da database e servizi esterni.
Redis aumenta il numero di utenti supportati?
Può ridurre alcuni carichi su cache e sessioni, ma non risolve automaticamente limiti di CPU, database, plugin o storage.
Come si testa Moodle con molti utenti?
Si definisce uno scenario realistico con ramp-up, sequenza di azioni e misure di performance, preferibilmente in un ambiente controllato.
Perché Moodle rallenta quando entrano tutti insieme?
Il picco può saturare PHP, CPU, database, sessioni, storage o servizi esterni. Va misurato durante l’evento.
Un quiz genera più carico della lettura di un corso?
Può generare più scritture e interazioni con il database, soprattutto quando molti tentativi vengono salvati o consegnati nello stesso momento.
Uno SCORM genera più carico?
Dipende dal pacchetto. Asset, video, tracking e frequenza delle richieste runtime possono influire molto sul carico.
Il login contemporaneo può rallentare Moodle?
Sì. Autenticazione, database, sessioni, Redis, SSO e servizi esterni possono essere coinvolti nello stesso picco.
Serve un server dedicato?
Non necessariamente. Serve un’infrastruttura coerente con il carico reale e il livello di controllo richiesto.
Quando serve un cluster Moodle?
Quando carico, disponibilità o scalabilità giustificano più nodi. La decisione deve includere sessioni, database e MoodleData.
Cos’è un test di carico Moodle?
È una simulazione controllata di utenti e operazioni per misurare tempi, errori e saturazione in uno scenario definito.
Come dimensionare Moodle per una piattaforma FAD?
Partiamo da utenti simultanei, attività FAD, SCORM, quiz, report, picchi orari, crescita dati e processi automatici.
Nel minuto di massimo carico, quanti utenti arrivano e qual è la prima operazione che eseguono?
Dopo il login cosa faranno insieme? E quanto dura normalmente il picco? Da queste tre informazioni iniziamo a costruire il capacity planning.