apc vs eaccelerator vs xcache

105

Je fais des recherches sur lequel de ceux-ci utiliser et je ne peux pas vraiment en trouver un qui se démarque. Eaccelerator est plus rapide qu'APC , mais APC est mieux entretenu. Xcache est plus rapide mais les autres ont une syntaxe plus simple.

Quelqu'un a-t-il des recommandations à utiliser et pourquoi?

Galien
la source
1
eAccelerator ne semble pas avoir été publié depuis plus d'un an. Le VC de xcache est certainement actif, mais je ne pouvais pas non plus me concentrer sur les versions et un focus. Tout se résume à un logiciel qui est maintenu et APC l'emporte haut la main.
Jusqu'au
11
Nous sommes au troisième trimestre 2011. Les choses ont-elles changé depuis 2009?
john

Réponses:

110

APC va être inclus dans PHP 6, et je suppose qu'il a été choisi pour une bonne raison :)

C'est assez facile à installer et accélère certainement les choses.

David Snabel-Caunt
la source
J'ai pesé ces trois éléments et j'ai décidé de commencer à tester avec APC pour cette raison. Les deux autres semblent également avoir des problèmes de stabilité.
Steve Claridge
46
Je n'ai rencontré que trois problèmes avec APC, qui étaient tous sous mon contrôle. 1) Ne laissez pas APC se remplir. Assurez-vous d'allouer suffisamment de mémoire 2) N'utilisez pas apc_clear_cache () sur un serveur actif 3) APC ne supporte pas vraiment bien les conflits de verrouillage importants - n'essayez pas d'écrire sur une seule clé à partir de plusieurs processus simultanément.
Frank Farmer
10
Actuellement, PHP6 n'existe pas.
Evert le
20
Étant donné que ce fil est l'un des meilleurs résultats de Google, il devrait probablement être mis à jour pour indiquer que Zend Optimizer est fusionné dans PHP 5.5 qui a été publié ce mois-ci. Vous pouvez le désactiver et utiliser APC à la place, même si je ne sais pas pourquoi vous le souhaitez.
Forest
2
Le magasin de données utilisateur @Benjamin peut être restauré avec APCu ( github.com/krakjoe/apcu ) qui est installable et utilisable avec ZO.
Swader
23

Consultez les points de repère et les comparaisons:

ici et ici et

Boris Guéry
la source
15
Dommage qu'ils soient si vieux. 2006? Ewww.
analytik
3
Je suppose que nous pouvons attendre quelques années et le commentaire précédent sera vieux?
benmarks
5
Succès. Il a 3 ans maintenant. Ewwww.
Swader
3
Mec, c'est déjà 2016. Quelqu'un peut-il refaire les repères il y a dix ans?
Pacerier
13

APC définitivement. Il est écrit par les gars de PHP, donc même s'il ne partage pas les vitesses les plus élevées, vous pouvez parier sur le fait qu'il est de la plus haute qualité.

De plus, vous obtenez d'autres fonctionnalités intéressantes que j'utilise tout le temps ( http://www.php.net/apc ).

Evert
la source
3
Facebook est également un grand utilisateur d'APC - ils utilisent des gigaoctets, voire des terra-octets de cache APC. La plupart des améliorations qu'ils ont apportées ont été publiées et intégrées à la version principale d'APC.
Frank Farmer
13
Vous pensez à Memcached.
Evert
3
@Every FB essaie d'accéder à un cache APC local avant d'établir une connexion TCP / IP à memcached scribd.com/doc/4069180/…
Andy
1
Probablement ... mais quand il parle d'améliorations qui ont été publiées, etc. c'est probablement Memcache. Sauf s'ils ont fait la même chose avec apc.
Evert
@Andy, Facebook n'utilise rien de tout cela. Il utilise sa propre VM HipHop.
Pacerier
11

En fin de compte, je suis allé avec eAccelerator - l'augmentation de la vitesse, la plus petite empreinte mémoire et le fait qu'il soit très facile à installer m'ont influencé. Il dispose également d'un joli frontal basé sur le Web pour vider le cache et fournir des statistiques.

Le fait qu'il ne soit plus entretenu n'est plus un problème pour moi - cela fonctionne, et c'est tout ce qui m'importe. À l'avenir, s'il casse PHP6 (ou autre), je réévaluerai ma décision et j'irai probablement avec APC simplement parce qu'il a été adopté par les développeurs PHP (cela devrait donc être encore plus facile à installer)

gbjbaanb
la source
4
"si ça casse PHP6" ... tu ne veux pas dire "quand?" :)
Brian Lacy
2
C'est drôle car, 5,5 ans plus tard, il n'y a toujours pas de "PHP 6."
Eric L.
@Eirik, PHP 6 est si hier. Il est 7 maintenant.
Pacerier
11

Il peut être important de signaler les versions actuelles stable, instable et dev de chacune (y compris la date):

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
Ryan Schumacher
la source
1
Dernières versions mises à jour - Xcache semble avoir le plus d'activité dans les nouvelles fonctionnalités et les correctifs des versions précédentes
Ryan Schumacher
9

Dans tous les tests que j'ai vus, eAccelerator fonctionne plus rapidement que tout autre cache et utilise moins de mémoire pour le faire. Il est livré avec un script astucieux pour visualiser l'utilisation du cache et vider le cache, etc. eAccelerator est compatible avec xdebug et Zend Optimizer.

APC est inclus dans PHP car il est maintenu par les développeurs PHP. Il fonctionne très bien, mais pas aussi bien que eAccelerator. Et il a des problèmes de compatibilité avec Zend Optimizer.

Xcache a été créé par les développeurs de lighttpd, les tests de performance montrent qu'il fonctionne de manière similaire à eAccelerator et plus rapide qu'APC.

Alors quel est le meilleur?

APC = Idéal si vous voulez un cache facile qui fonctionnera toujours avec PHP, pas de problème. eAccelerator = Si vous avez le temps de le maintenir, maintenez-le à jour et comprenez comment il fonctionne, il fonctionnera plus rapidement. Le support à long terme n'est pas aussi certain qu'APC car APC est réalisé par les développeurs PHP.

Prom3th3an
la source
7

J'ai testé eAccelerator et XCache avec Apache, Lighttp et Nginx avec un site Wordpress. eAccelerator gagne à chaque fois. La mauvaise chose est que les paquets manquants pour Debian et Ubuntu. Après une mise à jour PHP, souvent le serveur ne fonctionne plus si les modules eAccelerator ne sont pas recompilés.

Le dernier RC d'eAccelerator date de 2009/07/15 (0.9.6 rc1) avec prise en charge de PHP 5.3

devarni
la source
6

J'ai toujours utilisé APC avec php 5.1 et 5.2, mais j'ai eu beaucoup d'erreurs (aléatoires) en utilisant APC avec php 5.3: pages vierges étranges, erreurs aléatoires de mémoire insuffisante. Ils ont tous disparu lorsque j'ai désactivé APC. Mais ce n'était pas une option, car il exécute un site Web à volume élevé.

J'ai donc essayé eaccelerator. Jusqu'à présent, il a été solide comme le roc et l'augmentation de la vitesse est encore plus importante qu'avec APC. Les gars d'APC ont vraiment besoin de consacrer du temps à la correction des bogues.

miele
la source
1
J'ai eu les mêmes problèmes avec APC et php 5.3. Merci pour le commentaire. PHP sans aucune mise en cache dans ma configuration est beaucoup plus rapide et fiable qu'avec APC. Les pages blanches et les erreurs de mémoire me rendaient folle jusqu'à ce que je supprime APC.
Paul
jamais compris la raison pour laquelle le noyau tue php-fpm à cause de l'apc
vimdude
4

Je pense qu'APC est la voie à suivre, sauf si vous utilisez Zend Optimizer sur le site. APC est incompatible avec Zend Optimizer, vous devrez donc utiliser quelque chose comme eAccelerator.

rg88
la source
Si vous utilisez Zend Optimizer, vous n'avez besoin de rien d'autre car il fait également la mise en cache optcode et expose une interface compatible APC.
txyoji
3

Même eacceleator et xcache fonctionnent assez bien lors de charges modérées, APC maintient sa stabilité en cas d'intensité de demande importante. Si nous parlons ici de quelques centaines de requêtes / s, vous ne sentirez pas la différence. Mais si vous essayez de répondre davantage, restez définitivement avec APC. Surtout si votre application a des caractéristiques trop dynamiques qui entraîneront probablement des problèmes de verrouillage sous de telles charges. http://www.ipsure.com/blog/2011/eaccelerator-as-zend-extension-high-load-averages-issue/ peut vous aider.

Matt Dryden
la source
2

APC effectue des segmentations toute la journée et toute la nuit, n'a aucune expérience avec eAccelerator mais XCache est très fiable avec de nombreuses options et un développement constant.

ManreeRist
la source