Les produits que vous répertoriez ont des objectifs différents.
Caches OPCode
Il existe de nombreux accélérateurs PHP (OPCaches), comme indiqué sur cette liste Wikipedia . Comme c'est souvent le cas avec les produits open source, ils sont tous assez similaires. XCache est l'accélérateur PHP lighttp et constitue le choix par défaut lorsque vous exécutez HTTPd. Cela fonctionne également bien avec Apache, mais APC semble être légèrement plus socialement socialement, étant officiellement pris en charge dans le cadre de PHP et publié parallèlement à la distribution officielle de PHP.
J'ai abandonné usign eAccelerator en raison du ralentissement de son développement et du retard pris par rapport aux versions de PHP, et au statut béni officiel offert par APC avec des performances similaires.
Ces produits sont généralement drop in; pas de changement de code pour améliorer instantanément les performances. Avec des bases de code volumineuses (Drupal, Wordpress), les performances peuvent être jusqu'à trois fois meilleures, tout en réduisant le temps de réponse et l'utilisation de la mémoire.
Mise en cache des données
Memcache est un produit légèrement différent. Vous pourriez le considérer comme un système léger à valeur clé pouvant être mis à l'échelle sur plusieurs serveurs . Les logiciels doivent être améliorés pour prendre en charge Memcache et résoudre certains problèmes mieux que d’autres. Si vous avez une liste de valeurs boursières en temps réel sur votre site Web, vous pouvez utiliser Memcache pour conserver une liste de résidents de la valeur actuelle affichée sur l'ensemble de votre site Web. Vous pouvez l'utiliser pour stocker des données de session pour une réutilisation à court terme. Vous ne l'utiliseriez pas pour d'autres tâches, telles que des caches de pages complètes, ou pour remplacer MySQL.
Il existe également des extensions Wordpress, telles que WP-Super-Cache, qui peuvent considérablement améliorer les performances de Wordpress (en fait, WP-Super-Cache peut rivaliser avec des sites HTML statiques dans de nombreux cas).
En résumé - Je recommanderais vivement APC si vous voulez un produit "installez-le et oubliez-le, produit bien pris en charge".
[4]: http://
" pour le réparer.Une bonne réponse a été postée sur stackoverflow qui répond bien à votre question.
https://stackoverflow.com/questions/28716/which-php-opcode-cacher-should-i-use-to-improve-performance
la source
APC sera intégré à PHP6, ce qui en fait un choix logique. Je l'utilise, et l'amélioration de la performance est incroyable. Si vous devez mettre en cache autre chose que des codes d'opération (résultats de requête de base de données, par exemple), vous pouvez également utiliser APC, mais il n'est pas possible de partager des caches APC entre plusieurs serveurs. Si vous avez seulement besoin de mettre en cache sur un seul serveur, APC est génial. Si vous avez besoin de passer à plusieurs serveurs et souhaitez partager un cache entre eux, memcached est votre homme.
Une chose que je ferais, cependant, est de créer une classe wrapper pour toute mise en cache (non-opcode) que vous faites. De cette façon, vous pouvez échanger le moteur de mise en cache sans modifier votre code.
la source
Juste pour noter que les choses ont un peu changé et il semble qu'APC ne sera pas inclus dans PHP 6 core.
APC a un développement lent et il semble que ce ne sera jamais compatible avec PHP 5.5. Pour cette raison, on dirait que les gars de PHP vont définir l'extension de cache d'opcode Zend OPCache comme extension PHP CORE. Vous voulez en savoir plus ici http://wiki.php.net/rfc/optimizerplus .
Remarque importante: Zend OPCache ne possède pas de cache de données utilisateur comme APC. Par conséquent, si vous avez besoin d'un cache de données utilisateur, vous pouvez l'utiliser avec Memcache.
la source
Si vous utilisez la version PHP au moins 5.50, OpCache est votre meilleur choix (bibliothèque native PHP / PECL). Il devrait être pré-compilé si l'installation est à partir de binaire.
http://php.net/manual/en/book.opcache.php
Si vous utilisez une version de PHP antérieure à la version 5.5, APC (cache OpCode natif PHP / PECL) serait le choix le plus simple, bien qu'il soit considéré comme non maintenu et mort:
http://php.net/manual/en/book.apc.php
L'utilisation de la fonctionnalité native OpCache de PHP devrait vous éviter des problèmes de maintenance des bibliothèques tierces.
la source
Memcache met en cache les paires clé / valeur, pas les opcodes. Vous pouvez l'utiliser conjointement avec l'un des caches d'opcode.
la source