160 votes

Memcached vs APC que l'on devrait choisir ?

J'ai lu cet article: http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/ de dos de manière quand.. je veux obtenir le meilleur moteur de cache disponible pour que mon application est vraiment très rapide. Bien sûr, je ne veux pas sur-cache, mais je veux au moins choisir la meilleure chose. Dans cet article, il dit Memcached est lente et apc est rapide alors pourquoi est-ce que chacun de choisir memcached?

http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels ici est dit "utilisation rapide (mais limité) comme Apc, Memcache... et un "lent" comme un Fichier Sqlite..." pensez-vous à l'aide de l'Apc rapide et Memcache que la lenteur est une bonne idée?

265voto

Karsten Points 8168

Memcached est un système distribué, système de cache, alors que l'APC est non-distribué - et surtout, un cache d'opcode.

Si (et seulement si) vous avez une application web qui doit vivre sur de différents serveurs web (équilibrage de charge), vous devez utiliser memcache pour la mise en cache distribuée. Si non, il suffit de coller à l'APC et de son cache.

Vous devriez toujours utiliser un cache d'opcode, qui APC est (aussi APC seront intégrés dans php6 iirc, alors pourquoi ne pas commencer à l'utiliser maintenant).

Vous pouvez/devez utiliser à la fois à des fins différentes.

43voto

xkcd150 Points 488

Memcached si vous devez conserver l’État sur plusieurs serveurs web (si vous êtes charger équilibré et il est important que ce qui est dans le cache est la même pour tous les serveurs).

APC, si vous avez juste besoin d’accès à la mémoire rapide à lire (et écrire) sur une (ou) serveur.

N’oubliez pas de APC peut également compiler et accélérer votre temps d’exécution de script. Donc vous pouvez par exemple utiliser APC pour une performance accrue de l’exécution, pendant l’utilisation de memcached pour le stockage du cache.

18voto

Hieu Vo Points 378

La principale advatage de l’APC est cache opcode. Depuis PHP 5.5 intégré OpCache à son noyau et APC pour PHP 5.4 est toujours signalé comme bêta, il n’est pas une annonce officielle, mais le développement de l’APC serait tombé près de futures.

Donc je vous recommande de choisir Memcached.

9voto

Saimon Lovell Points 51

J’ai utiliser un pour la vitesse et l’autre pour synchroniser tous mes serveurs. Si vous utilisez memcache alors s’il vous plaît garder à l’esprit des ports ouverts dont vous aurez besoin de bloquer avec iptables.

6voto

Nir Levy Points 2691

Hey Thomaschaaf, j'espère que ce n'est pas l'outil tard pour vous mais s'il vous plaît noter que l'APC a certaines questions liées à "utilisateur-cache". Pour rendre une longue histoire courte, lorsque vous définissez le temps d'attente pour les entrées de cache, ou si votre serveur apache se bloque à l'intérieur interne de l'APC de code (délai d'attente, par exemple), alors vous pourriez souffrir de certains problèmes.

J'ai une entrée sur la question ici: http://nirlevy.blogspot.com/2009/06/apc-futexwait-lockdown-make-your-apache.htmlet vous devriez aussi lire http://t3.dotgnu.info/blog/php/user-cache-timebomb.html (à partir de l'une des APC développeurs je pense)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X