21 Mai

Optimiser PHP avec Zend Opcache

Zend Opcache (ex Zend Optimizer+) est un accélérateur PHP et il fonctionne plutôt bien. Comment ? Il faut savoir que les scripts PHP doivent être compilés en PHP bytecode à chaque exécution, et on constate pour cette raison des temps de réponse de l’ordre de 500ms sur un back-end PHP faisant tourner un WordPress. Zend Opcache stocke et optimise ce code compilé pour une ré-utilisation ultérieure. Et il est plutôt performant.

Zend Opcache est compatible avec PHP depuis la version 5.2 et y est même intégré depuis la 5.5. Malheureusement il n’est pas disponible sur Debian (Wheezy en 7.5) à l’heure actuelle. Alors comment faire ?

Utiliser DotDeb et migrer vers PHP 5.5

DotDeb est un repository qui fournit les dernières versions up-to-date et patchs de sécurité pour transformer son debian en serveur LEMP. Il inclut notamment une version 5.5.x de PHP pour Wheezy. L’avantage est de disposer de mises à jour automatisées, par contre il faut s’assurer que ses applications sont bien compatibles avec PHP 5.5 et ne requièrent pas php5-xcache.

Il faut dans un premier temps rajouter DotDeb aux sources de son serveur, et pour cela créer le fichier /etc/apt/sources.list.d/dotdeb.list

Ensuite, il ne reste plus qu’à permettre l’authentification des nouveaux repositories et mettre à jour le système

Zend Opcache est présent dans le package php5-common et sera activé par défaut.

Compiler Zend Opcache avec php-pear

Si passer à PHP 5.5 pose des problèmes de compatibilité, il est aussi possible de compiler Zend Opcache avec PECL dans un environnement PHP 5.2, 5.3 et 5.4.

Et on compile !

Pecl précise (à la ligne 7) où il vient de placer Zend Opcache. Avec cette information, on peut maintenant créer la configuration principale dans le fichier /etc/php5/mods-available/opcache.ini et mettre en place les liens symboliques. Plus d’information sur les options de configuration est disponible sur le site php.

Il ne reste plus qu’à relancer les services. Si vous utilisez apache : service apache2 restart. On vérifie aussi la bonne installation de Zend Opcache avec un simple php5-fpm -v

On peut nettoyer son système des packages nécessaires à la compilation avec un apt-get purge build-essential php5-dev.

Pour conclure

Ce n’est que subjectif n’ayant pas mesuré, mais j’ai ressenti une réelle différence par rapport à APC. Je ne peux donc que recommander Zend Opcache d’autant plus qu’il devient maintenant la solution officielle d’opcache de PHP.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.