apc vs eaccelerator vs xcache


105

Sto facendo delle ricerche su quale di questi usare e non riesco a trovarne uno che si distingua. Eaccelerator è più veloce di APC , ma APC ha una migliore manutenzione. Xcache è più veloce ma gli altri hanno una sintassi più semplice.

Qualcuno ha consigli su quale usare e perché?


1
eAccelerator non sembra aver visto un rilascio in oltre un anno. Il VC di xcache è certamente attivo, ma non ho potuto concentrare nemmeno le versioni e un focus. Tutto si riduce a un pezzo di software che viene mantenuto e APC vince a mani basse.
Fino

11
È il terzo trimestre del 2011. Le cose sono cambiate dal 2009?
giovanni

Risposte:


110

APC sarà incluso in PHP 6 e immagino che sia stato scelto per una buona ragione :)

È abbastanza facile da installare e sicuramente velocizza le cose.


Ho soppesato questi tre e ho deciso di iniziare a testare con APC per questo motivo. Anche gli altri due sembrano avere alcuni problemi di stabilità.
Steve Claridge,

46
Ho riscontrato solo tre problemi con APC, tutte cose sotto il mio controllo. 1) Non lasciare che APC si riempia. Assicurati di allocare abbastanza memoria 2) Non usare apc_clear_cache () su un server attivo 3) APC non riesce a far fronte bene a forti contese di blocco - non provare a scrivere su una singola chiave da più processi contemporaneamente.
Frank Farmer

10
In realtà attualmente non esiste qualcosa come PHP6.
Evert

20
Poiché questo thread è uno dei risultati migliori in Google, probabilmente dovrebbe essere aggiornato per indicare che Zend Optimizer è stato unito a PHP 5.5 che è stato rilasciato questo mese. È possibile disattivarlo e utilizzare APC, invece, anche se non sono sicuro del perché ci si vuole.
Foresta

2
L'archivio dati utente di @Benjamin può essere ripristinato con APCu ( github.com/krakjoe/apcu ) che è installabile e utilizzabile insieme a ZO.
Swader

23

Dai un'occhiata a benchmark e confronti:

qua e qua e


15
Peccato che siano così vecchi. Il 2006? Ewww.
analytik

3
Suppongo che possiamo aspettare un paio d'anni e il commento precedente sarà vecchio?
benmarks

5
Successo. Adesso ha 3 anni. Ewwww.
Swader

3
Amico, è già il 2016. Qualcuno può rifare i benchmark un intero decennio fa?
Pacerier

13

Sicuramente APC. È scritto dai ragazzi di PHP, quindi anche se potrebbe non condividere le velocità più elevate, puoi scommettere sul fatto che è la massima qualità.

Inoltre ottieni alcune altre funzionalità interessanti che uso sempre ( http://www.php.net/apc ).


3
Facebook è anche un utente pesante di APC: usano gigabyte, se non terrabyte, di cache APC. Molti dei miglioramenti che hanno apportato sono stati rilasciati e integrati nella versione principale di APC.
Frank Farmer

13
Stai pensando a memcached.
Evert

3
@Ogni FB tenta di raggiungere una cache APC locale prima di effettuare una connessione TCP / IP a memcached scribd.com/doc/4069180/…
Andy

1
Probabilmente .. ma quando parla di miglioramenti che sono stati rilasciati, ecc. È probabilmente Memcache. A meno che non abbiano fatto lo stesso con apc.
Evert

@ Andy, Facebook non usa niente di tutto questo. Utilizza la propria VM HipHop.
Pacerier

11

Alla fine sono andato con eAccelerator: l'aumento di velocità, l'ingombro della memoria più piccolo e il fatto che fosse molto facile da installare mi hanno influenzato. Ha anche un bel front-end basato sul web per svuotare la cache e fornire alcune statistiche.

Il fatto che non sia più mantenuto non è un problema per me: funziona, ed è tutto ciò che mi interessa. In futuro, se interrompe PHP6 (o qualsiasi altra cosa), rivaluterò la mia decisione e probabilmente andrò con APC semplicemente perché è stato adottato dagli sviluppatori PHP (quindi dovrebbe essere ancora più facile da installare)


4
"se rompe PHP6" ... non intendi "quando?" :)
Brian Lacy

2
È divertente perché, 5,5 anni dopo, non c'è ancora un "PHP 6."
Eric L.,

@Eirik, PHP 6 è così ieri. Adesso sono le 7 .
Pacerier

11

Potrebbe essere importante sottolineare le attuali versioni stabile, instabile e dev di ciascuna (inclusa la data):

APC

http://pecl.php.net/package/apc

dev        dev          2013-09-12
3.1.14     beta         2013-01-02
3.1.9      stable       2011-05-14

XCache

http://xcache.lighttpd.net/

dev/3.2     dev        2013-12-13
dev/3.1     dev        2013-11-05
3.1.0       stable     2013-10-10
3.0.4       stable     2013-10-10

eAccelerator

https://github.com/eaccelerator/eaccelerator

dev         dev        2012-08-16
0.9.6-rc1   unstable   2010-01-26
0.9.5.1     stable     2007-05-16

1
Ultime versioni aggiornate - Xcache sembra avere la maggior parte delle attività sia nelle nuove funzionalità che nelle patch delle versioni precedenti
Ryan Schumacher

9

In tutti i test che ho visto, eAccelerator è più veloce di qualsiasi altra cache disponibile e utilizza meno memoria per farlo. Viene fornito con uno script elegante per visualizzare l'utilizzo della cache e svuotare la cache, ecc. EAccelerator è compatibile con xdebug e Zend Optimizer.

APC viene incluso in PHP perché viene mantenuto dagli sviluppatori PHP. Funziona molto bene, ma non come eAccelerator. E ha problemi di compatibilità con Zend Optimizer.

Xcache è stato creato dagli sviluppatori di lighttpd, i benchmark mostrano che funziona in modo simile a eAccelerator e più veloce di APC.

Allora qual è il migliore?

APC = Ottimo se vuoi una cache facile che funzioni sempre con PHP, senza problemi. eAccelerator = Se hai tempo per mantenerlo, tienilo aggiornato e capisci come funziona, funzionerà più velocemente. Il supporto a lungo termine non è certo come APC perché APC è fornito dagli sviluppatori PHP.


7

Ho testato eAccelerator e XCache con Apache, Lighttp e Nginx con un sito Wordpress. eAccelerator vince ogni volta. La cosa negativa sono solo i pacchetti mancanti per Debian e Ubuntu. Dopo un aggiornamento PHP spesso il server non funziona più se i moduli di eAccelerator non vengono ricompilati.

L'ultimo RC di eAccelerator è del 15/07/2009 (0.9.6 rc1) con supporto per PHP 5.3


6

Ho sempre usato APC con php 5.1 e 5.2, ma ho riscontrato molti errori (casuali) utilizzando APC con php 5.3: pagine bianche strane, errori casuali di memoria insufficiente. Sono scomparsi tutti quando ho disabilitato APC. Ma questa non era un'opzione, poiché gestisce un sito Web ad alto volume.

Quindi ho provato eaccelerator. Finora è stato solido come una roccia e l'aumento della velocità è persino maggiore rispetto a APC. I ragazzi di APC hanno davvero bisogno di dedicare un po 'di tempo alla risoluzione dei bug.


1
Ho avuto gli stessi problemi con APC e php 5.3. Grazie per il commento. PHP senza alcuna memorizzazione nella cache nella mia configurazione è molto più veloce e affidabile rispetto a APC. Le pagine bianche e gli errori di memoria insufficiente mi stavano facendo impazzire finché non ho rimosso APC.
Paul D.Eden,

mai capito il motivo per cui il kernel uccide php-fpm a causa di apc
vimdude

4

Penso che APC sia la strada da percorrere a meno che tu non stia utilizzando Zend Optimizer sul sito. APC è incompatibile con Zend Optimizer, quindi in tal caso dovrai utilizzare qualcosa come eAccelerator.


Se stai usando Zend Optimizer non hai bisogno di nient'altro perché fa anche la memorizzazione nella cache dell'optcode ed espone un'interfaccia compatibile con APC.
txyoji

3

Anche sia eacceleator che xcache si comportano abbastanza bene con carichi moderati, APC mantiene la sua stabilità anche con una forte intensità di richieste. Se stiamo parlando di poche centinaia di richieste / sec qui, non sentirai la differenza. Ma se stai cercando di rispondere di più, resta decisamente fedele ad APC. Soprattutto se la tua applicazione ha caratteristiche eccessivamente dinamiche che probabilmente causeranno problemi di blocco sotto tali carichi. http://www.ipsure.com/blog/2011/eaccelerator-as-zend-extension-high-load-averages-issue/ può aiutare.



2

APC esegue il segfault tutto il giorno e tutta la notte, non ha esperienza con eAccelerator ma XCache è molto affidabile con un sacco di opzioni e sviluppo costante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.