Newsgroup: it.comp.virtualizzazione
Titolo: web load balancing

Ciao, dovrò nei prossimi mesi mettere su in una infrastruttura vSphere 
4.1 un tot di VM che dovranno servire le pagine di un sito web. Vorrei 
contenere i numeri delle VM con apache (o simile) ma non penso proprio 
di riuscire a scendere a 1 sola VM "grossa" visto il traffico che 
adesso è sui 60Mbps costanti e, sono sicuro, non va oltre solo perché 
la struttura attuale utilizza un load balancer LVS che ha raggiunto il 
suo massimo throughput.
Per questo motivo servirebbe un modo per bilanciare il traffico. Ho 
guardato il marketplace in cerca di qualche soluzione, ce ne sono 
diverse ma tutte molto costose. Qualcuno ha mai fatto un progetto 
simile e mi sa consigliare qualcosa che è al di fuori del marketplace?
Adesso sto giocando un po' con la Alteon VA che mi sembra troppo 
sofisticata e complicata da usare. Poi ne temo il costo, visto che 
Radware non è mai stata a buon mercato.
Al momento, alla peggio, sarei orientato a sbattere i web server 
brutalmente sulla rete pubblica e fare un bilanciamento con round robin 
su dns (di ip pubblici ne ho anche troppi). Rudimentale ma dovrebbe 
essere efficace e... quel che non c'è non da problemi
P.S.: in passato per lo stesso progetto avevo usato ISA server come 
reverse proxy/firewall. Lo ritengo estremamente valido e, oltre al 
bilanciamento, fa un sacco di cose utili (solo per citarne una: 
centralizzazione dei log). Costando anche poco rispetto ai concorrenti. 
Ma sono certo che non me lo lascerebbero più utilizzare
-- 
Tinto

 massimo throughput.
UH?
Ci ho gestito oltre 4 volte quel traffico, con LVS, e c'è traccia di chi
ha fatto anche 10 volte di più. Sicuro che il problema sia lui e il suo
throughput, e non qualcosa d'altro?
-- 
Paranoia is a disease unto itself. And may I add: the person standing
next to you may not be who they appear to be, so take precaution.
-----------------------------------------------------------------------------
http://bofhskull.wordpress.com/

 essere efficace e... quel che non c'è non da problemi
Le sessioni come le gestisci poi?Tanto per dirne una...

 throughput, e non qualcosa d'altro?
ciao, scusa il ritardo;
si' sono sicuro al 99% che il tappo sia nella macchina dove gira LVS.
Non dico che non si possa configurare meglio, però chi dovrebbe farlo 
attualmente preferisce fare finta di nulla, presumo non sia così 
semplice ;)
La banda da un'idea molto parziale del numero di sessioni 
contemporaneamente aperte. Nel caso in questione si tratta di traffico 
fatto da pagine html e immagini: le sessioni contemporanee sono 
tantissime. Mesi fa avevamo un bilanciatore Radware Linkproof 200 (per 
gestire due ISP) e era stra a tappo pure quello.
-- 
Tinto

 Le sessioni come le gestisci poi?Tanto per dirne una...
il grosso del sito e' "session free" ;)
-- 
Tinto

 gestire due ISP) e era stra a tappo pure quello.
In tal caso la soluzione ï¿œ banalmente l'aumento della dimensione della
hash-table delle sessioni.
Se attualmente gira con il kernel di default, la hash-table tiene 4096
connessioni contemporanee. Basta aumentare il valore ad uno piï¿œ sensato
per il vostro utilizzo.
Aumentarlo ï¿œ tanto complicato quanto ricompilare il kernel (ovvero
mediamente molto poco, per un sysadmin degno del nome)...
http://kb.linuxvirtualserver.org/wiki/Performance_and_Tuning
Bye!


 mediamente molto poco, per un sysadmin degno del nome)...
non discuto -anche se rimane il fatto che te ne accorgi a posteriori 
che la tabella era insufficiente-, pero' a mio avviso resta il fatto 
che LVS e' piuttosto ostico e fa poco, nel senso che da un "load 
balancer" vorrei come minimo alcune funzioni accessorie come caching, 
compressione, centralizzazione dei log.
Piu' mi guardo attorno piu' penso che la scelta che feci 5 anni fa fu 
probabilmente la migliore possibile :)
Grazie cmq!
-- 
Tinto

 compressione, centralizzazione dei log.
se vuoi solo load balancing puoi usare haproxy (magari 2 macchine in
HA); anche se sembra che a te non interessi gestisce la session
persistence ed ha delle feature abbastanza carine per quanto riguarda
il bilanciamento (e modifica di request/response) di http. (considera
che con LVS non arrivi a L7)
Se invece vuoi compressione e caching puoi orientarti su varnish
http://www.varnish-cache.org/
ciao,
stefano

 compressione, centralizzazione dei log.
Mah. Questione di punti di vista, probabilmente.
Per fare quello che chiedi serve un balancer a livello applicativo.
Qualcosa che sa cosa sta smistando perchè ci mette dentro il naso.
LVS è un bilanciatore di traffico che agisce ai soli layer 3 e 4.
Caching, compressione, logging sono cose di cui non sa nulla e di cui
nulla gli frega: vede solo datagrammi e pacchetti.
Che sarà un approccio limitativo certamente, ma ha l'indubbio pregio di
riuscire a gestire con HW commodity e/o con una VM minimale moli di
traffico[1] che sarebbero altrimenti gestibili solamente da pezzi di
ferro dal costo di decine di migliaia di euro. Da prendere peraltro a
coppie, che in infrastrutture che abbiano *bisogno* di bilanciatori col
cavolo che tieni giù tutto perchè il bilanciatore è andato a donnine.
Come in molte branche dell'open-source, sta poi all'implementatore
compensare con il layout dell'architettura quello che il cliente non si
può permettere col portafoglio. :-P
E ti assicuro che di gente che è disposta a pagare me 10K€ per fare con
l'infrastruttura quel che altri farebbero per 25K€ con il ferro ce n'è
ancora in giro tanta[2] ;-)
[1] c'è gente che da LVS ha tirato fuori 10 Gbit senza che la macchina
ospite fosse particolarmente in affanno...
[2] così come ce n'è in giro tanta che compra dei pezzi di ferro
pagandoli un rene senza nemmeno che gli servano davvero le funzionalità
che 'sti oggetti hanno in più rispetto ad un balancer fatto con LVS (e
infatti poi non le usano)...


>> Hai provato anche Citrix Netscaler?
l'ho appena installato, ho gia' visto che ha delle funzonalita' 
interessanti (la centralizzazione dei log), pero' a prima vista mi 
sembra -anche la versione express- veramente molto completo... troppo 
:)
Hai idea di quanto possa costare, anche grossomodo?
Grazie 1000
-- 
Tinto

 Hai idea di quanto possa costare, anche grossomodo? Grazie 1000
Sinceramente no, so che dipende dalla banda e/o dal numero di richieste.
Fammi sapere le tue opinioni appena l'hai testato per bene.

 ancora in giro tanta[2] ;-)
Anche qui e' l'eterno dilemma: l'open source costa zero ma ha (non 
sempre) costi nascosti rispetto alle soluzioni commerciali.
Quando nel 2006 feci le cose tutte da me scelsi, perche' era gia' 
conosciuto, ISA come firewall load balancer etc etc (ma tutto cio' che 
stava dietro era LAMP). Poi sono arrivati i guru di linux e hanno fatto 
tutto con xen, cluster red hat e compagnia. Molto bravi, anche se una 
volta il guru inserendo un server nel cluster ha fatto un'errore di 
digitazione (!!) e io sono dovuto venire un venerdì notte per assistere 
nel rimettere tutto a posto.
Adesso per varie ragioni si ri fa tutto da capo, per fortuna con VMWare 
(che costa, ma anche un bambino riesce ad aggiungere un host senza 
sbragare tutto) e col sottoscritto. Che sta guardandosi intorno su come 
bilanciare il carico sulle VM
Dopo aver provato alcune soluzioni devo dire che quella di Microsoft mi 
appare, almeno per il mio contesto, drammaticamente superiore a tutte 
le altre :-)
-- 
Tinto