[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] aumentare performance web



Il giorno ven, 23/10/2009 alle 10.01 +0200, Alessandro T. ha scritto:

> avevo letto il contrario (benchmark 2004-2007). però la tua esperienza è
> più recente quindi continuerò con il prefork+mod_php

Non ho fatto benchmark, ma ne avevo visti alcuni. fcgid e` veloce, e in
alcuni casi puo` battere il mod_php, ma devi fare il tuning.

> > Intanto una cache di precompilati (APC o eAccelerator),
> 
> e questo è a livello sistema o a livello applicazione?

A livello di sistema. Sono due moduli di PHP che installi e configuri,
che cachano automaticamente gli script precompilati e eseguono quelli
quando richiami la pagina.
Si accorgono automaticamente se hai modificato il sorgente e lo
ricompilano.

Fai un po' di test, perche` in passato ci sono stati alcuni bug
(funzioni introdotte in PHP e non ancora riconosciute dalle cache, per
esempio), ma a meno che non ti compili php a mano dovrebbero essere moto
stabili.

> >  poi puoi pensare
> > di staccare il MySQL dalla macchina Apache per dividere il carico e
> > anche per "destinare" piu` RAM a entrambi, invece di farli fare a botte
> > con le cache.

> ma poi l'ulteriore passaggio per la rete non aumenta i tempi di
> risposta, in rapporto alla soluzione tutto sulla stessa macchina?

Si`, ma con una rete buona (Gigabit) il carico di rete potrebbe
diventare piu` basso della perdita di prestazioni in locale dovuta alla
latenza introdotta sui dischi dal farli lavorare su aree diverse (php e
mysql).

Certo, se hai dischi dedicati al DB separati da quelli dedicati ai file
web, e un multicore con tanta RAM, o dischi molto veloci e vagonate di
RAM, la rete probabilmente e` piu` lenta.

Dipende dall'architettura. Dovresti fare un po' di prove, che sono
comunque piu` economiche fatte con 2 server piuttosto che con 5. ;)

Puoi anche pensare di spostare tutti i contenuti statici (immagini, js,
css) su un server senza mod_php, gli script su un'altra macchina (con
mod_php) e il DB su una terza, in modo da lasciare piu` worker di apache
a smazzarsi gli script, ma questo presuppone che cambi tutte le pagine
web per linkare a un hostname diverso per i contenuti statici, o che
metti un proxy davanti che rigira le chiamate ai server dietro in base
alla richiesta.

Bye.

-- 
Alessandro Pellizzari



Reply to: