Newsgroup: it.comp.www.server
Titolo: Come dimensionare un server web?

Salve a tutti,
insieme a 3 amici stiamo pensando di passare ad un server web
dedicato, visto che a conti fatti ci verrebbe quasi a costare di meno
rispetto ai singoli hosting.
Ora il nostro problema e' che non riusciamo a capire come dimensionare
l'hardware della macchina che sara' di nostra proprieta', diciamo che
non cerchiamo un server a 4 processori (che non riusciremmo mai ad
ammortizzare nel tempo) ma neppure una macchina economica stile
celeron.
Il sistema sara' basato su una distribuzione linux o bsd e dovra' far
girare, apache, php e mysql, server mail piu' ovviamente tutti i
servizi necessari ad un server web.
I siti principali ospitati sono 3 con un traffico medio per sito di un
migliaio di utenti unici al giorno (in crescita del 5% al mese) e sono
realizzati con Mambo, Oscommerce ed MDpro e tutti dotati di forum
phpbb (si sta cmq pensando di passare al piu' efficiente VBulletin).
Sulla macchina saranno ospitati anche un decina max di siti piu'
piccoli in html, (classico sito di rappresentanza) ed un servizio di
banner basato su phpadsnew.
Ora viste le premesse noi pensavamo di puntare su una macchina con
processore Xeon tipo i Dell PowerEdge 1750, con 2 dischi SCSI in raid
1 ed 1GB di ram, visto che alla fine la differenza con un server
basato su P4 e' minima, pero' non sappiamo' come dimensionare il
processore, ovvero conviene puntare direttamente ad una CPU potente o
a 2 CPU piu' piccole?
La doppia CPU e' realmente conveniente su queste macchine?
Tra l'altro con 2 CPU penso che sia praticamente obbligatorio passare
a 2GB di ram o no?
--
Saluti "Il Barone Rosso" - Roma
www.baronerosso.net
 -> le celle al Litio
www.modellismowebring.it
E-Mail: kfran...@NO-SPAMlycos.it
ICQ: 17933257
Rimuovi NO-SPAM per rispondere, Please remove NO-SPAM to answer

 basato su P4 e' minima
[cut]
Se parli in senso economico forse, ma in senso delle prestazioni non ne 
sarei tanto sicuro, vabbene che dipende da quale Xeon ti montano, se 
l'MP e quale core se il Gallatin, comunque la cosa che differenzia in 
parte gli Xeon dai P4 è anche la cache del processore, infatti nei 
modelli odierni gli Xeon sono forniti di una buona L2 e anche della L3 
che gli permette di gestire meglio le numerose richieste. Poi c'è anche 
il fatto che gli Xeon dispongono, come i P4, della tecnologia HT ma 
nonostante ciò gli Xeon dispongono di più transistor di un normale P4.
In fin dei conti la differenza è che il P4  è un po' più versatile, 
mentre con uno Xeon sarà difficile montarlo su un comune desktop per 
giocare a doom! :-D
Comunque anche uno Xeon con 1GB di ram dovrebbe essere 
sufficiente...anche se ti consiglio di studiarti bene le offerte 
commerciali disponibili e di analizzare ben bene la potenza di calcolo 
che ti occorrerà. ;-)
Ciao,
jRed

che ti occorrerà. ;-)
Ecco come si calcola la potenza richiesta????


 in blocco.
Non vi conviene di più prendervela in noleggio? così non avreste nessun
costo aggiuntivo... nell'eventualità che qualche componente si danneggiasse.
:-)
--
Adriano Tocco - 
www.sequency.it
*Il successo dei nostri clienti è il nostro e-business*

:-)
Anche questa e' una soluzione che stiamo prendendo in considerazione,
cmq tra i vari listini online le macchine di un certo livello hanno
costi di affitto abbastanza elevati e visto che lo possiamo prendere a
prezzo rivenditore alla fine ammortizziamo il costo della macchina in
poco piu' di un anno e ci ritroviamo con una macchina di nostra
proprieta' (che cmq ha un certo valore di mercato).
Riguardo il problema delle rotture (grattatina d'obbligo) alcuni
prodotti che abbiamo visto hanno una garanzia di 3 anni onsite con
intervento a 24 ore senza supplemento (vedi ad esempio i dell).
Di certo l'affitto puo' essere vantaggioso in caso di crescita delle
richieste da parte del sistema perche' puoi passare ad hardware
superiore con un bassisimo investimento.


 Ecco come si calcola la potenza richiesta????
Dipende dagli utenti che hai sui siti ma anche dal tipo di applicazioni 
che ospiti nel server. Ovvero se il server lavorerà solo per 
visualizzare semplici HTML credo che uno Xeon sia eccessivo (ma ciò 
dipende dagli utenti che ci si connetteranno) mentre se già ospiti 
applicazioni tipo database (mysql, sql server, oracle,...) e per i siti 
utilizzi delle tecnologie quali Java, Aps, Php o Cgi-Bin e il server 
dovrà in qualche modo fare delle operazioni diverse dalla semplice 
visualizzazione delle pagine allora si comincia a ragionare. Certo che 
se gli uteni connessi sono pochi non è necessario un grande server. Se 
invece hai tanti utenti ti si propone anche un bel problema la banda.
Ciao,
jRed
PS: Per lo storage, RAID SCSI è affermato da tempo, ma se non hai grandi 
pretese ci sono sistemi RAID SATA che hanno prestazioni ragionevoli ad 
un costo inferiore. Il tutto alla fine è deciso dal budget.

un costo inferiore. Il tutto alla fine è deciso dal budget.
Vista l'affidabilita' dei dischi Eide/sata preferisco di un bel raid
scsi ;-)


 un secondo tempo se necessario
Questa credo che sia la scelta migliore, in fin dei conti le MB sono 
come hai detto tu, quindi un upgrade successivo è possibile prenderlo in 
considerazione anche se poi non avrà senso installarci su due processori 
diversi! Quindi tanto possibile quanto limitante. Dipende dal lavoro dei 
server che ospiteranno i siti.
Ciao,
jRed ;-)

 superiore con un bassisimo investimento.
Appunto situazione non da poco, visto anche la crescita di utenti che avete
(hai scritto 5%)... poi tutto sta anche a determinare quali siano i vostri
obiettivi di crescita... :-)


server che ospiteranno i siti.
Sicuro che funzionino con 2 processori diversi?
Io so che le MB a multiprocessore devono essere obbligatoriamente
tutti uguali.


obiettivi di crescita... :-)
Ovviamente crescere il piu' possibile, ma dubito che possa esistere
una crescita infinita, prima o poi si dovrebbe stabilizzare (almeno
cosi' credo, anche se spero di no).


 tutti uguali.
Qui forse mi sono spiegato male, quello che volevo dire è che "non" puoi 
essere sicuro che la mb con dual-processor possa funzionare con CPU 
"diverse" intese come velocità di clock, perchè i socket sono quelli, 
quindi se una mb dual è per gli Xeon MP li sopra ci puoi montare solo 
quelli. La cosa limitante sta nel fatto che se ad esempio monti una cpu 
a 1.5Ghz e una a 2Ghz quella + veloce si prende la velocità di quella + 
bassa! Quindi in parte è preferibile prenderle assieme le cpu x il dual 
processor o almeno anche se a distanza di tempo, prenderle dello stesso 
clock. Un po' come le DDR. ;-)

clock. Un po' come le DDR. ;-)
Infatti questa e' la mia paura, anche se prendendo una macchina di
marca, tipo Dell o HP si puo' accedere al loro magazzino ricambi dove
tengono anche i processori vecchi (anche se poi costano un capitale).


 parte HP non e' che si trovino molte soluzioni al con questa cpu. 
Dunque tra AMD e Intel c'è sempre una dura lotta e alla fin fine le 
soluzioni proposte dalle due case sono "quasi" equivalenti. Dunque 
l'Opteron è a 64bit, giusto!? O meglio è ad architettura mista x86-64 
ovvero sono dei processori conformi alla architettura intel x86 + la 
parte 64 bit di AMD. Dunque alla fine non sono processori validi solo 
per la loro parte a 64bit che in fin dei conti viene sfruttatta 
realmente poco dall'utente medio (a meno di casi isolati tipo con gli 
Itanium ma li si parla di grossi server!) dunque alla fine su un sistema 
del genere devi montarci una distribuzione linux che supporta pienamente 
il 64bit (poichè ora da casa microsoft trovi l'xp-64 e credo che sia 
compatibile anche una versione dell'2003 server ma $$$). Quindi si 
tratterà di una distro di quelle serie, non perchè le altre non vadino 
bene, ma si tratta pur sempre di un server se poi ci vai a mettere due 
processori ancora più di alto livello, dunque ti servirà prendere o una 
Suse Server (che già prima della 8.0 aveva il supporto ai 64bit, almeno 
quelli di Intel, ma credo che ora anche gli AMD) oppure una Red Hat 
Enterprise Linux ma comunque alla fine vai sempre li $$$. Sicuramente ci 
sono delle valide alternative open-source e/o freeware tipo Slackware, 
BSD, ma dipende dalle proprie esigenze e alla fine (non sto dicendo che 
non va bene) devi cmq scendere a compromessi.
Se proprio devi scegliere tra Opteron e Xeon credo che alla fine siano 
quasi equivalenti, io ho sentito che gli opteron li usavano nei server 
per i giochi, ma forse mi sto confondento con gli Athlon MP... ;-)
Ciao,
jRed
PS: Se poi monti gli Opteron sfruttarlo al 100% (ovvero con apps a 
64bit) farà un po' difficile almeno per questi tempi. ;-)

 servizi necessari ad un server web.
beh una maniera per tenere il server con meno carico a livello di cpu 
ecc è quello di configurare bene apache. la differenza per esempio tra 
un apache con multithread e uno senza è notevole. per es. un sito con 
apache 1.3 (versione rpm di redhat) aveva bisogno di 5 server per 
accontentare tutte le richieste. dopo il passaggio ad apache 2 con MPM 
worker si è potuto ritirarne due di quei web.
certo si poteva anche lavorare sulla versione 1.3 di apache ma IMHO il 2 
offre dei miglioramenti di prestazioni notevoli.
bye

 offre dei miglioramenti di prestazioni notevoli.
Scusa forse l'OT ma da poco mi sono trovato a lavorare con Apache2 e 
anche in generale con Apache per ragioni di team  non sono mai stato a 
contatto con questo molto più prestante web-server (infatti in 
precedenza...mi sono trovato alle prese con IIS) e ti vorrei chiedere 
due cose:
1) Se conosci per caso un buon tutorial, magari anche abbastanza rapido 
e in italiano, su Apache2 (al max anche di livello non troppo elevato :-D)
2) Se puoi fornirmi maggiori informazioni sul multithread della versione 2.
Ciao,
jRed
PS: non per sembrare troppo uno sprovveduto, ma mi sono trovato molto 
spesso a lavorare con Tomcat e poi veniva fatto lavorare insieme ad 
Apache ma non ho avuto mai occasione di mettere bene (e a fondo) le mani 
sul web-server.

 2) Se puoi fornirmi maggiori informazioni sul multithread della versione 2.
sostanzialmente ricompilando apache con l'mpm worker ( 
--with-mpm=worker) o usando anche un pacchetto rpm già predisposto 
(apache 2 di redhat lo è ma non di default) non usi più i classici 
processi unix ma i thread che ottimizzano le prestazioni condividendo in 
un certo senso le risorde della macchina (apri anche meno sessioni verso 
l'ipotetico server db per esempio) a scapito magari di qualche raro caso 
di incopatibilità con sw di terze parti (a me php funziona bene per 
esempio e non ho mai avuto problemi)
"This Multi-Processing Module (MPM) implements a hybrid multi-process 
multi-threaded server. By using threads to serve requests, it is able to 
serve a large number of requests with less system resources than a 
process-based server. Yet it retains much of the stability of a 
process-based server by keeping multiple processes available, each with 
many threads." preso da 
http://httpd.apache.org/docs-2.0/mod/worker.html
ciao!

 esempio e non ho mai avuto problemi)
E' possibile fare questa ricompilazione anche sotto windows o è 
necessario un os linux-based?! O meglio se sotto wion quali compilatori 
e librerie occorrono!? Ho visto che nel pacchetto .msi c'e anche il 
sorgente con gli header per la compilazione quindi non dovrebberò 
esserci problemi! ;-D
Grazie ancora,
jRed

 
il codice si può ricompilare ovunque. win non lo conosco per niente ma 
ti posso dire che apache 2 sfrutta proprio i thread di win in maniera 
nativa e quindi dovrebbe essere parecchio performante o almeno 
decisamente migliore alla 1.3. per ricompilarlo suppongo ti basta un MS 
Visual C++  ma non saprei proprio dirti però se e in quali casi iis sia 
meglio o peggio...

 meglio o peggio...
Bhè credo che IIS sia un po' più vulnerabile di Apache anche se come 
tutte le cose alla fine è solo una questione di tempo. Mi piacerebbe 
molto prendere quella in inglese anche se credo che al momento sia un 
po' troppo impegnativa...anche se il mio interesse è caduto su una guida 
credo sempre dell'apogeo Apache + Tomcat, qualcuno l'ha mai sentita?! E 
cosa ne pensa?!
Poi, ma non vorrei andare troppo OT, riguardo Apache e Tomcat mi sono 
trovato a dorverli far lavorare insieme ma non sono riuscito a farli 
funzionare...qualcuno saprebbe come fare?! (Apache 2.0.50 + Tomcat 
5.0.27 + mod_jk2_2.0.49 (con il modulo in .so) tutto sotto win32, per 
ora ;-D)
Grazie ancora,
e mi scuso per aver portato la discussione un po' OT.