Leggi il Topic


Carico del server [caratteristiche server e considerazioni]
528503
528503 Inviato: 3 Ago 2006 18:29
Oggetto: Carico del server [caratteristiche server e considerazioni]
 

Mi pare ci siano spesso problemi di sovraccarico del server....avrei qualche domanda a riguardo:
1-Che sistema operativo utilizziamo? Se linux che distro, ed è installato con la grafica?
2-Che webserver (se apache la 1.3 o la 2?)
3-C'è qualche sistema di caching come ad esempio squid in modalità reverse proxy?
4-Facciamo uso di Zend Optimizer, Php Accelerator o simili?

Grazie...non è solo curiosità ma magari riusciamo a ottimizzare un poco.
 
528881
528881 Inviato: 3 Ago 2006 20:16
 

Premetto che il sovraccarico con blocco della macchina non c'è spesso, si è presentato ieri abbastanza pesantemente in due occasioni e ho realizzato un controllo per limare i picchi.

1) Linux, direi che c'è Fedora, non credo con grafica (il server è presso l'azienda Serverplan, di hosting professionale)
2) Apache 1.3.36
3) Non saprei ma credo proprio di no
4) Zend Optimizer

Inoltre ci sono ottimizzazioni sulla configurazione di Apache e MySQL, disco in raid 1 software e server Dell PowerEdge SC1425 - Xeon 3.0Ghz HT con 1Gb di memoria Ram.

Il codice del sito è stato ottimizzato (da me) riducendo drasticamente il numero di query, memorizzando in un file tutti quei dati che di norma verrebbero calcolati ad ogni pageview.

Non so ma a mio avviso se i sovraccarichi accadranno più spesso bisognerà passare a un server con doppia CPU, RAID 1 hardware, controller SCSI e 2 GB di RAM.

Tu cosa ne pensi?
 
528980
528980 Inviato: 3 Ago 2006 21:08
 

Allora, premetto che non ho mai gestito dei server ad alto carico. Ho amministrato per circa un anno una macchina Sun doppio processore 3Ghz con 2 dischi SCSI Ultra-320, tuttavia la media di visitatori non superava i 20 al giorno! icon_eek.gif

Detto questo, da amante delle distro "snelle" e "pure" (uso gentoo e in passato slackware) non mi pare proprio una grande idea fedora, specie se ha la grafica. Comunque a livello di carico le differenze dovrebbero essere trascurabili (ho anche visto diversi server con fedora e redhat).
L'importante più che altro è guardare che non ci siano processi inutili.

Per quanto riguarda apache io sono per la versione 2, anche se parecchi server utilizzano il ramo 1.3 i miglioramenti della nuova versione ci sono. In particolare hanno modificato la creazione di un nuovo processo (per ogni richiesta) portandola ad un nuovo thread. In realtà la questione è più complessa ma meglio non addentrarsi troppo nei dettagli....faccio notare che non ho benchmark alla mano quindi magari la differenza di performance non è notevole.

Zend Optimizer è un'ottima cosa però attenzione....vengono ottimizzati i file "inpacchettati" con zend guard (vecchio zend encoder)....altrimenti è completamente inutile.
A mio parere quindi un gran aumento di performance lo si otterrebbe con php accelerator (sempre se la macchina è completamente configurabile da noi). Quest'ultimo non richiede alcuna modifica ai file .php già esistenti.

Per quanto riguarda la nuova macchina bisognerebbe vedere un po' più in dettaglio dove è il collo di bottiglia, in particolare bisognerebbe un po' investigare con il comando top dove sono i rallentamenti (magari i dischi vanno benissimo e la ram non è spremuta). Di certo due processori sono una gran bella cosa!

Scusate il messaggio lungo...
 
529019
529019 Inviato: 3 Ago 2006 21:33
 

Non so se a Zend Optimizer è abbinato a Zend Guard, comunque la macchina è completamente configurabile e ho anche acquistato il servizio di assistenza quindi posso chiedere di installare quel che preferiamo: posso provare a chiedergli cosa ne pensano di installare il PHP accelerator

Il collo di bottiglia rilevato tramite il TOP, quando si presentano i rallentamenti, è sempre il MySQL che si ciuccia tutta la CPU (nelle ore di punta si arriva a una media di 40 query/secondo) mentre la RAM è sottoutilizzata.
 
529049
529049 Inviato: 3 Ago 2006 21:55
 

Per quanto riguarda mysql, ottimizzarlo è una cosa molto complessa (per le mie modeste conoscienze). Nel file di configurazione ci sono decine di opzioni che influiscono pesantemente sulle prestazioni.
Due cose base sono però:
-Controllare il tipo di tabelle. Ad esempio oltre a MyIsam (che è il default) esistono supporti per le foreign key, constraints varie e la possibilità di drawback. In particolare il drawback, se non lo si utilizza, è un grosso spreco di risorse.
-E' fondamentale utilizzare gli indici per velocizzare le query. Ad esempio se ci fosse una tabella con id_utente e il suo nome (quindi con frequenti SELECT), sarebbe d'obbligo inserire un index sull'id_utente, ecc, ecc.
 
529400
529400 Inviato: 4 Ago 2006 7:00
 

Sull'ottimizzazione di mysql, indici e relative variabili di sistema sono diverse settimane che ci lavoro e tutto sommato è a un livello accettabile, il problema è che a volte ci sono alcune query non ulteriormente ottimizzabili che richiedono notevoli risorse alla CPU e se ne capitano tot al secondo possono mandare in crisi il sistema.

Io direi che adesso vediamo come si comporta con il limitatore, se questo entrerà in funzione troppo spesso significherà che è ora di cambiare server icon_wink.gif

Grazie ancora per la tua consulenza e buone ferie se parti anche tu icon_wink.gif (io parto domenica mattina e sto via 15 giorni).

0510_saluto.gif
 
529696
529696 Inviato: 4 Ago 2006 9:29
 

Si bhe...forse si potrebbe monitorare meglio mysql, se utilizzi phpMyAdmin c'è una voce che si chiama stato dove ci sono molte info interessanti e ancora meglio c'è un utility o un comando non mi ricordo che ti mostra anche efficacia degli index, delle chiavi, ecc.

E' strano comunque che si blocchi...al massimo dovrebbe mettere in coda le richieste e funzionare più lentamente.
Ad ogni modo forse è proprio il server che non ce la fa, come dicevo non ho mai lavorato con 150 visitatori contemporanei. icon_wink.gif

Si grazie, buone ferie anche a te, io vado via domani. 0510_saluto.gif
 
529719
529719 Inviato: 4 Ago 2006 9:40
 

fatzeus ha scritto:
Si bhe...forse si potrebbe monitorare meglio mysql, se utilizzi phpMyAdmin c'è una voce che si chiama stato dove ci sono molte info interessanti e ancora meglio c'è un utility o un comando non mi ricordo che ti mostra anche efficacia degli index, delle chiavi, ecc....

Sì, ho analizzato anche le variabili di stato, utilizzo i comandi per controllare le slow queries e anche quelle che non usano l'indice.

In effetti non si pianta la CPU ma arriva a un certo punto che la coda di processi è talmente lunga (e ogni minuto se ne aggiunge uno in cron) che va in una specie di stallo
 
530083
530083 Inviato: 4 Ago 2006 11:14
 

mi e successo anche adesso a me che non mi faceva entrare
 
Mostra prima i messaggi di:
Pagina 1 di 1

Non puoi inserire nuovi Topic
Puoi rispondere ai Topic
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi
 
Indice del forumProposte, uso del Sito e del Forum

Forums ©