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: