Optimiser JEEDOM avec Zend OPcache

L’optimisation du cache avec Zend OPcache permet une exécution plus rapide de PHP. Il améliore les performances de PHP, et dans notre cas plus particulièrement de Jeedom en stockant dans la mémoire partagée le bytecode pré-compilé des scripts.
PHP 5.5 dispose en intégré de OPcache, mais pour les versions de PHP 5.4, il faut installer Zend OPcache pour améliorer les performance de notre serveur. Avec ce mini tutoriel, vous allez ainsi pouvoir Optimiser JEEDOM avec Zend OPcache, pour le plus grand plaisir des amoureux de la domotique.

Avant optimisation

Pour connaître votre version de PHP, c’est très simple :

Notre version de PHP est donc la 5.4.39-0+deb7ul

Installation

Si besoin, il faudra installer pecl via php-pear ainsi que les build dependencies.

 Nous pouvons maintenant installer Zend OPcache avec pecl :

Notez bien qu’à la fin de l’installation, le chemin où se trouve le module est donné, dans notre cas :

Dans le pire des cas, il existe un outil pratique pour retrouver des fichiers, il s’agit de la commande locate.
L’installation se fait comme ceci :

 La mise à jour de la base de données se fait avec la commande updatedb.
Et pour chercher un fichier, c’est un jeu d’enfant :

 Configuration

Nous pouvons maintenant configurer PHP et OPcache. La convention Debian veut que le fichier soit dans /etc/php5/conf.d, fichier qui est en fait un lien symbolique depuis /etc/php5/mods-available.

Tout d’abord, il faut créer le fichier /etc/php5/mods-available/opcache.ini

Dans ce fichier, nous allons ajouter les lignes suivantes :

Le fichier de configuration étant complet, nous pouvons créer le lien symbolique au bon endroit.
Pour cela, il existe la méthode manuelle ci-dessous :
Et la méthode tout aussi propre, mais avec les outils existant :

Application des modifications

Nous devons redémarrer php5-fpm pour que ces modifications soient prises en compte :

 Dans le cas où vous utiliseriez Apache, il faut aussi redémarrer le serveur Apache :

 Validation

Pour confirmer que vous avez bien mis en place l’OPcache, il faut relancer la commande suivante :

Nous constatons que OPcache est bien installé (with Zend OPcache), c’est donc parfait !!!

Un peu de ménage

Pour finir notre installation, il faut faire un brin de ménage derrière nous en supprimant ce qui n’est plus utile :

Et voilà, un jeu d’enfant je disais.

Note: L’extension OPcache permet d’accélérer les applications PHP, mais aussi de réduire l’utilisation de la mémoire. Par exemple, lors de mes essais, la mémoire utilisée pour Jeedom a été réduite de 40%.

Pour aller plus loin

Vous pouvez utiliser des outils pour stresser vos sites web, notamment Siege. Ce dernier imite des clics aléatoires (basé sur un fichier sitemap.xml ou une liste d’URLs fournie).

Explications de la commande :

-t 60s(time) exécuter le test sur une période de 60 secondes
c 50 : (concurrent) pour une activité simultanée de 50 clients
i : (internet) pour utiliser un délai aléatoire entre 2 exécutions  (simulation de la lecture de la page par un client sur Internet)
f liste.urls.txt : (file) fichier en entrée contenant la liste des URLs à tester.

Plus d’infos et d’exemples ici.

A propos Mehdi HAMIDA

Moi en quelques mots: je m'appelle Mehdi, j'habite à Lyon, je suis chef de projet technique et papa geek. Je m’intéresse aux nouvelles technologies, à la publicité, la musique, à l’art en général et à la culture 2.0, ainsi qu’à tout ce qui a trait de près ou de loin à Internet : réseaux sociaux, webmarketing, le marketing viral et la veille stratégique.