Consumo banda di Moodle: quanti utenti simultanei?

Consumo banda di Moodle: quanti utenti simultanei?

di Alessandro Bonelli -
Numero di risposte: 3

Salve,

ho su Aruba un server dedicato Linux con queste caratteristiche:

Cpu:1x Intel Xeon E3110 3.0 GHz Dual Core

RAM:4 GB DDR2
Disco:2x 500 GB SATA 7200 rpm Hot Swap Controller RAID Hardware 0,1

Connettività 100Mbps


su cui ho installato Moodle e che gestisco tramite Webmin. La mia domanda è: quanto può reggere in termini di utenze simultanee, consumo di banda...? So che non dipende tanto da "quanti utenti sono", ma da "cosa fanno", quindi provo a spiegare la mia situazione: i miei corsi sono strutturati in pacchetti SCORM da non più di 12 Mb l'uno. In molte pagine di questi pacchetti, ci sono incorporati (embedded) dei video di Vimeo piuttosto che di Youtube; nelle altre pagine, slide animate e quiz (sempre interni al pacchetto scorm). Dopodiché, al termine del corso (cioè dopo diversi "moduli", sottoforma di pacchetti scorm), è possibile scaricare un certificato, creato con un plugin (simplecertificate).

A che punto la velocità del server inizierebbe a risentirne, o addirittura a fermarsi? Mi sapreste dare un'indicazione? Grazie!


P.S. Leggo molte volte la frase "conta che per 50 utenti simultanei ci vuole 1GB di RAM": è accurata?

Media dei voti:  -
In riposta a Alessandro Bonelli

Re: Consumo banda di Moodle: quanti utenti simultanei?

di Matteo Scaramuccia -

Ciao Alessandro,
partiamo dal fondo: l'affermazione che citi valeva per Moodle 1.9-; le versioni recenti sono quotate per 10-20max utenti per GB di RAM.
E' accurata nella misura in cui tenta di modellare un uso "tipico" dei tipici "moduli" di Moodle.

Nel tuo caso vedo che non fai uso di Quiz - il modulo più stressante in termini di risorse -, al più di test all'interno di SCORM; non mi preoccuperei della banda visto che:

  • Moodle impone una cache di 1 giorno ovvero fino al prossimo restart su tutti gli asset erogati
  • I tuoi package sono di ridotte dimensioni
  • I Video sono embedded e ospitati altrove che il tuo server
  • Il tracciamento SCORM è poca cosa preso per singolo utente

Mi preoccuperei invece di:

  • HDD: 7200rpm non sono all'altezza - se vogliamo ottimizzare la concorrenza - dei bisogni di Moodle in termini di cache su file system e del Database che immagino ospiterai nello stesso server
  • RAM: 4GB sono molto limitativi se vuoi ben configurare sia Moodle - ad esempio per ben usare opcache e memcached - sia il Database server, che sarà l'oggetto preso di mira dal tracciamento dei tuoi contenuti soprattutto sei usi objectives e interactions

Non citi inoltre quali componenti software usi per ospitare l'istanza e come siano configurati.

Se vuoi sapere quanto regge il tuo server l'unica cosa è tirargli "il collo" temporaneamente simulando il traffico di utenti tipo tramite JMeter, che purtroppo richiede un po' di lavoro manuale per costruire le simulazioni per il tuo contesto.

Refs:

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Consumo banda di Moodle: quanti utenti simultanei?

di Alessandro Bonelli -

Ciao Matteo,

innanzitutto grazie per l'esaustiva risposta!

Passo direttamente ai punti di "preoccupazione": gli rpm dell'hard disk e i Gb della RAM sono pochi.

Facendo qualche ricerca, però, anche al di fuori di Aruba, noto che la maggior parte dei server dedicati montano dischi da 7200 rpm, e l'aumentarli anche di poco (anche solo a 10k) spara il costo a cifre esorbitanti, quadruplicando la spesa mensile/annuale. Non essendo competente in materia, ti chiedo: il fatto di non avere un HDD così performante cosa può comportare? E' indispensabile? Al contrario, l'aumento dei GB della RAM non sembra essere così dispendioso...


Riguardo al software di cui mi chiedi, la versione di Moodle è la 2.6.2; ospito il database (sullo stesso server) MySQL versione 5.1.73. Il PHP è versione 5.3.3 (so che è molto vecchia come versione, anche perché opcache non sembra disponibile in questa versione. Sto tentando di capire come aggiornarla, ma non trovo molte info. Devo rivolgermi ad Aruba, direi?)


Infine, riguardo JMeter, ho trovato su Moodle, nella sezione "sviluppo", la voce "Crea test JMeter". Mi richiede quanti utenti voglio testare e su che corso. Non mi sembra molto complesso in termini di lavoro di configurazione. Conoscevi questa possibilità che dà già Moodle? Otterrei lo stesso risultato che avrei usando i metodi spiegati nei link che mi hai fornito?


Ti ringrazio!

In riposta a Alessandro Bonelli

Re: Consumo banda di Moodle: quanti utenti simultanei?

di Matteo Scaramuccia -

Ciao Alessandro,
allora:

  1. HDD: il "gradino" dei 10Krpm modifica la tecnologia e la qualità sensibilmente quindi è evidente che ci sia un salto significativo di prezzo perché stai passando ad una classe di server decisamente superiore anche come gestione dei dischi - probabilmente ora sono in RAID SW - e scheda madre nonché altri elementi strutturali - compreso probabilmente l'alimentazione ridondata, ecc. ecc.
  2. RAM: sicuramente più ce ne è meglio è, a patto poi di saperla sfruttare bene. Un numero che suggerirei per quella macchina secondo me è 8GB stante che tu stai facendo girare web e db sulla stessa macchina
  3. Moodle: cerca di aggiornarla quanto più possibile, sicuramente alla 3.1 dove mi aspetto notevoli miglioramenti rispetto alla tua versione in termini di scalabilità sulla concorrenza
  4. MySQL: decisamente datato, ti impedirà di passare a release di Moodle successive. Per renderti conto a spanne di quale trattamento fare sulla sua configurazione prova ad usare https://www.howtoforge.com/tuning-mysql-performance-with-mysqltuner. Attenzione perché alcune migliorie potrebbero chiederti più RAM di quella attuale. Leggi con attenzione anche https://docs.moodle.org/26/en/Performance_recommendations#MySQL_performance
  5. PHP 5.3.3: sospetto tu stia girando su una CentOS a questo punto ma non ne sono certissimo. Sicuramente la prima attività che cambierà la velocità di risposta di Moodle è usare un opcode cache compatibile, XCache e APC sono i migliori candidati. Se non usi particolari plug-in di terze parti il mio consiglio sarebbe di passare subito a PHP 7.0.x con una versione "decente" di MySQL (o MariaDB) e far girare quindi la migrazione a Moodle 3.0.x. Ci aggiungi 4GB di RAM e incomincerai ad avere un signor sistema nonostante gli HDD a 7K2rpm
  6. jMeter: puoi provare ad usarlo (Site administration > Development > Make JMeter test plan) per construire quella che si chiama una baseline cioè un punto di partenza da cui partire e provare a verificare quanto ogni tuo cambiamento porti reali benefici. Se vuoi però scoprire cosa possa fare realmente il tuo server per il tuo servizio devi modellare il test quanto più possibile per capire dove puoi spingerti ma, giustamente, come primo punto di partenza non è sicuramente necessario spingersi tanto oltre

Curiosità: quale è l'aspettativa sulla concorrenza che vorresti dal tuo sistema Moodle? 40 utenti? 80 utenti? NNN utenti?
Considera inoltre che, ad incrementare la difficoltà della interpretazione della valutazione, c'è anche il fatto che Concorrenza significa una Azione nello stesso Istante da parte di n Utenti che è situazione ben diversa dalla reale fruizione di m utenti che spesso non sono in "concorrenza" tra loro: infatti solitamente m >> n da cui l'importanza di una simulazione il più possibile veritiera con jMeter (o similari ma molti sono a pagamento). Questo ovviamente lo dico per completezza perché per le tue attività di ottimizzazione è sufficiente già lavorare con simulazioni "base" come quella configurabile che citavi tu

HTH,
Matteo