OVH Community, your new community space.

Riassunto di 2 mesi di lavoro


sylvie
22.04.2013, 14.32
Buongiorno,
Ecco un breve riassunto di quello che è successo
negli utlimi 2 mesi sull' infrastruttura dell'hosting condiviso.

Abbiamo 7 cluster in produzione. Parliamo
di cluster002 o cluster007. Ciascun cluster
è composto da un doppio sistema di ripartizione
di carico, 1000 server (tipo HG), 20-50
tra server di file e server SQL.

Grazie a questo sistema di ripartizione di carico,
lo stesso visitatore viene reindirizzato su un server di un
cluster. Qualunque sia il sito.

Il flusso di visitatori si ripartisce tutte le risorse
del cluster. Ogni settimana diverse decine di
nuovi server vengono aggiunti a ciascun cluster.
Il costo totale rimane < 50% della sua capacità.

Ma con il nuovo motore PHP di wordpress,
prestashop e altri CMS, si è riscontrato
che le prestazioni di alcuni siti sono
cattive. Questo è dovuto al fatto che i visitatori
di un sito non sono reindirizzati verso lo stesso server
ma sono distribuiti su tutto il cluster, un pò
ovunque. Conseguenza: ogni visitatore ricarica
ed esegue tutto il sito ogni volta che
avrà goduto della cache generata dal visitatore
precedente.

Soluzione: reindirizzare tutti i visitatori di un sito
sullo stesso server. Così, i visitatori precedenti
creano la cache e il nuovo visitatore ha un tempo
di caricamento molto rapido.

Abbiamo dunque creato un software all'interno del
cluster per reindirizzare i visitatori di ciascun
sito su un server.

Nuovo problema: una volta aggiornato,
alcuni siti di grandi dimensioni hanno causato il sovraccarico
o l'interruzione del loro server. Sono talmente
importanti che un server HG non è sufficiente!
L'interruzione di un server del cluster,
coinvolge tutti i siti reindirizzati sullo stesso server,
generando un'irraggiungibilità degli stessi siti.
Ma non tutti i siti condivisi. Dipende ..

Abbiamo quindi riscritto il software per calcolare
in tempo reale il numero di richieste, la CPU
e la RAM occupata da CIASCUN sito (grazie BigData)
per poi decidere ancora in tempo reale se reindirizzare
un sito su un server o su un sotto-cluster di grandi siti.
Prendiamo in considerazione le raffiche
cioè se il tuo sito fa 100 visitatori
al giorno vieni reindirizzato al tuo server
ma ad un tratto ci sono 10.000 visitatori in un'ora, lo vediamo
e decidiamo in pochi secondi di
reindirizzare il tuo sito verso il sotto-cluster di siti di grandi dimensioni.

Il risultato:
i piccoli siti vengono tutti reindirizzati sul loro server.
sono veloci perché tutti i visitatori del sito confluiscono
sullo stesso server. Il server non è in sovraccarico
perché sappiamo esattamente quanta CPU rimane
sul server e quanta CPU un sito richiede statisticamente
ad ogni richiesta. Sappiamo così in anticipo che la richiesta
che stiamo per inviare su quel server verrà eseguita
in maniera corretta.

i siti di grandi dimensioni vengono reindirizzati su un sotto-cluster di siti di
grandi dimensioni. Automaticamente. questo sotto-cluster ci permette
di isolare questi siti di grandi dimensioni ed evitare che possano intaccare
la qualità del servizio per i siti di piccole dimensioni. Si stima che
se il sito si trova sul sotto-cluster, questo debba lasciare
il condiviso per il l'evoluzione verso una VPS, Cloud o un Server Dedicato.
ma può rimanere sul condiviso. Proponiamo traffico
illimitato e a richiesta illimitata, ma non garantiamo
la qualità del servizio. Si tratta di un gesto commerciale.

In caso di guasto di un server di un cluster, i siti più piccoli
che utilizzano tale server non vengono interrotti. Il cluster
viene ricalcolato automaticamente e quindi alla prima richiesta
può reindirizzare tutti questi siti piccoli, che hanno perso il loro
server, sul loro nuovo server.

Abbiamo quindi tutti i vantaggi e quasi nessuno
svantaggio a fare ciò.

Ci resta da:
- Informare ciascun cliente che si trova sul sotto-cluster che
si tratta di un gesto commerciale e che per avere maggiore qualità,
bisogna spostarsi su una nuova offerta: VPS
o Cloud o Server dedicato.

- Per i piccoli siti miglioreremo le cache su ciascun
server. Cambieremo il modo in cui si esegue il
php e lo metteremo nella cache. Ciò permetterà di accelerare
tutti i siti di piccole dimensioni.

- Si inizierà con dei test sul private condiviso
con un sito. Si tratta di creare un sotto-cluster dedicato
al cliente poi farlo crescere in base alle esigenze
del cliente. Andremo ad utilizzare le VPS, il Cloud o
i server dedicati per creare questi sotto-cluster. Il cliente
potrà pertanto avere un ambiente facile da usare
come il condiviso pur avendo risorse dedicate.
E perché no il suo sotto-cluster per il RoR, Java
o Python ..

Cordialmente
Octave