Cluster report, Settembre-Novembre, 2005

inglese


I mesi appena trascorsi hanno segnato ancora una volta una fase di crescita spettacolare per Wikipedia. Da settembre le richieste sono raddoppiate, molte informazioni sono state aggiunte, modificate e migliorate, sono arrivati molti altri utenti. Per far fronte a questa crescita il sito ha dovuto espandere di nuovo le proprie piattaforme hardware e software.

Naturalmente, per risolvere il problema è stato aggiunto altro hardware. A metà settembre sono stati aggiunti al pool tre nuovi database server (thistle, ixia e lomaria) che hanno sostituito alcune macchine ormai obsolete. Con i tassi di crescita attuali, i 'vecchi' server con 4 GB di RAM non riuscivano a tenere il passo, se non offrendo prestazioni molto limitate.

Sono stati installati 40 application server Opteron biprocessore che ci permettono di risparmiare il prezioso spazio in housing condiviso, oltre a presentare un ottimo rapporto prezzo/prestazioni. Un primo gruppo di 20 server è stato installato la settimana scorsa. Si tratta di macchine con dischi più grandi e con più memoria, il che ci ha consentito di farvi girare diversi servizi inizialmente non previsti (9 server Apache sono usati anche per memorizzare le revisioni degli articoli); alcuni sono stati aggregati al pool di memoria condivisa, grazie all'uso di memcached.

Uno degli acquisti migliori è stato 'amane', il nuovo server per le immagini da 12.000 dollari: con il carico attuale non si limita a memorizzare le immagini ma è in grado persino di gestire i backup. Su amane ora è installato lighttpd, un server HTTP particolarmente snello ed efficiente. Al momento viene usato per la distribuzione delle immagini, ma la crescita di Wikimedia Commons ci obbligherà in futuro a trovare una soluzione fortemente scalabile e affidabile che sia in grado di gestire ogni tipo di media.

Inoltre, sono stati ordinati altri 10 application server e un nuovo gruppo di cache server per gli Squid. Questi dieci server Opteron monoprocessore saranno dotati di 4 dischi piccoli e veloci che dovebbero consentire una gestione efficace delle cache dei contenuti.

Tutto l'hardware citato è stato acquistato grazie alle donazioni - l'aiuto che viene dalla comunità in questo caso è particolarmente apprezzato - Grazie!

Il cluster fornito da Yahoo! a Seul (Corea) è finalmente entrato in esercizio, avvicinando le cache agli utenti asiatici e diventando il cluster principale per le applicazioni e i database delle Wikipedia in giapponese, thailandese, coreano e malese.

Per quanto riguarda il bilanciamento del carico interno, abbiamo sostituito Perlbal con LVS e presto potremmo mettere in servizio anche un apparato di load balancing molto ben fatto e promettente, anche quello frutto di una donazione. LVS è un oggetto da maneggiare con cura; alcune piccole imprecisioni nella configurazione hanno avuto delle conseguenze pesanti sulle prestazioni del sito. Il cluster è ormai diventato una struttura complessa e articolata, che richiede sempre più controlli incrociati e verifiche sofisticate e a tappeto.

Sono in corso anche molte attività per incrementare la ridondanza; tra poco avremo due collegamenti indipendenti al nostro provider principale in Florida. Il dump statico in HTML è (quasi) pronto all'uso e può risultare utile in caso di gravi avarie. Inoltre, può essere fatto girare anche a partire dal cluster di Amsterdam!

Nei giorni scorsi ci siamo concentrati nel portare complessivamente a regime il cluster; ora è importante dare gli ultimi ritocchi e prepararsi per un carico ancora maggiore, una nuova crescita e di conseguenza un'altra espansione. Speriamo di essere in grado, con l'aiuto della comunità, di risolvere tutti i nostri problemi di prestazioni e stabilità. Non vogliamo diventare una Yo-yo-pedia! :).

Per arrivare dove siamo giunti finora sono stati risolti molti problemi, e molte risorse tra quelle più faclimente disponibili sono state impegnate e sfruttate. Quello che ci troviamo davanti ora è un compito complesso che richiede sia un contributo di personale, sia l'apporto di idee nuove. Le discussioni sono sempre benvenute sul canale #wikimedia-tech di Freenode (tranne che durante le emergenze più catastrofiche :).

E, naturalmente, Grazie a tutto il Team (o meglio alla Famiglia)! Lavorare insieme è fantastico!