web-dev-qa-db-fra.com

PHP 5.5, cache total w3 et opcache

PHP5.5 a opcache intégré à ZendOptimizer et il semble fonctionner assez bien et les tests de performance semblent lui donner un léger avantage sur APC en termes de performances. Génial. Donc, APC semble être en train de disparaître.

Ma question concerne le cache total w3. W3TC a la possibilité de faire la mise en cache de base de données et d'opcode en utilisant APC, et cela fonctionnait plus ou moins bien avec APCu (cache d'utilisateur APC). Sa compatibilité avec opcache n’était pas parfaite - par exemple, vous auriez des problèmes de sauvegarde bizarres si vous ne modifiiez pas l’invalidation de la mémoire cache, etc.

Je me demande si cela vaut la peine d'utiliser APCu pour les caches utilisateur stockés pour opcache/dbcache? Je l'ai éteint et ma charge de processeur semble un peu plus basse et je me demande si je suis vraiment en train d'accomplir quelque chose étant donné que Zend opcache fait déjà le gros du travail (est-ce?).

Je préfère l’installation plus Vanilla (pas d’APCu) car c’est une chose de moins à craindre. Mais je me demande si je perds vraiment mes performances. Pensées?

1
Erik Westlund

Vous semblez un peu confus quant à la fonction que remplit APCu. Il seulement implémente le magasin de clés/valeurs. Il n'effectue aucune mise en cache de code d'opération, car l'objectif principal d'APCu est de laisser cela à la nouvelle implémentation de l'opcode par Zend.

Lorsque vous utilisez APC (u) et le plug-in de cache pour objets compatibles, WP bascule sur le stockage de son cache (qui est ignoré de manière native lorsque le chargement de la page est terminé) et des éléments transitoires (qui sont stockés de manière native dans la base de données). Même s’il n’est pas très visible, il s’agit là d’un changement majeur dans le fonctionnement des internes.

Alors, répondez à votre question en deux parties:

  1. Le cache d'objets est une excellente idée car il est utilisé par WP big time et la mémoire est très rapide.

  2. APC (u) est l’un des moteurs possibles du cache d’objets. Si vous rencontrez des problèmes ou des inquiétudes à son sujet, vous pouvez facilement explorer toutes les solutions de rechange (memcached, redis, etc.).

3
Rarst

En général, vous devez analyser le nombre de hits et de miss que votre cache obtient. Si vous avez relativement beaucoup d'omissions, le cache n'est pas utile. Je pense que APC fournit ce genre de statistiques.

Une page servie à partir du cache de pages n'utilise pas PHP, et donc le cache d'utilisateurs APC, pas du tout. Le cache utilisateur APC est utile uniquement si vous avez suffisamment de pages générées pour les utilisateurs connectés ou pour commenter.

Alors oui, il est tout à fait possible que le cache utilisateur APC vous ait toujours fait perdre du temps CPU avant même que vous ayez apporté cette modification, mais cela dépend de votre profil de trafic.

0
Mark Kaplun