Su questo blog abbiamo parlato in diverse occasioni di eAccelerator e APC. Questi due software rientrano nella categoria degli acceleratori Php e svolgono la funzione di ottimizzatori per l’interprete del linguaggio.
eAccelerator e APC hanno il compito di salvare un’immagine degli script php nel momento in cui lo script stesso viene richiamato per la prima volta dall’interprete. Gli script compilati vengono posti in una cache che verrà sfruttata qualora l’applicazione richieda la compilazione del medesimo codice. Piuttosto che eseguire una nuova compilazione dello stesso script, eAccelerator o APC forniranno l’immagine salvata precedentemente in cache. Questo tipo di funzionalità consente di risparmiare memoria ram e cicli di calcolo su server sottoposti ad un elevato numero di richieste web.
Chiarito il principio di funzionamento, quello che sorge spontaneo è un confronto prestazionale tra APC ed eAccelerator. In generale eAccelerator supera con poco scarto APC in termini di velocità. Gran parte dei risultati di eventuali confronti sono legati principalmente a :
- tipo di applicativo utilizzato
- caratteristiche del sistema
- versione di Php
questi tre fattori incidono fortemente sul comportamento degli acceleratori php ed è abbastanza palese che un codice scritto male tragga poco giovamento da un acceleratore o che un disco eccessivamente lento renda difficoltoso il caching (a meno che non si faccia esclusivamente utilizzo della memoria ram.Tuttavia prodotti come eAccelerator permettono di utilizzare /tmp per il salvataggio dei dati).
APC risulta in continuo sviluppo e miglioramento essendo legato intimamente al team di sviluppo di Php. eAccelerator ha sofferto e soffre ancora di piccoli problemi di stabilità che ne possono compromettere l’utilizzo in particolare condizioni. Il consiglio generale è quello di effettuare ripetuti test sotto condizioni normali e di stress, per valutare quale delle due possa essere la soluzione ottimale per il sistema in uso. Sul lungo termine tuttavia APC può costituire una scelta affidabile e supportata da un team di sviluppatori direttamente coinvolta nello sviluppo di Php, dunque affidabile e collaudato.
