Accélérer son blog avec eAccelerator

eaccelerator, php5
eaccelerator, php5

Ce tutoriel ne pourra fonctionner que si vous êtes sur un serveur dédié ou virtuel. Il vous faudra donc avoir configuré et installé PHP et Apache dessus. Mais fort, logiquement, si vous voulez utiliser ce module, c'est que vous avez déjà tout ça et que votre moteur tourne. Je le répète donc, si vous êtes sur un serveur mutualisé, n'ayant pas les droits administratifs de la machine, vous ne pourrez bien sûr pas le faire. Enfin, cette astuce permet d'optimiser et d'accélérer son blog, et pas uniquement WordPress dans mon cas, puisque cette optimisation se fait au niveau du serveur et plus précisément sur PHP..

Pourquoi... pas ?

eAccelerator est donc un projet open-source qui va optimiser et accélérer le calcul des scripts en les mettant dans un cache, afin de permettre au serveur de ne pas le surcharger en lui demandant pour chaque requête identique de les recalculer. Voici un peu d'informations en anglais sur ce module. eAccelerator est régulièrement optimisé, gratuit, et plutôt simple à installer, alors pourquoi s'en priver ? Certes, il ne résout pas tout, loin de là, mais puisqu'il ne consomme que très peu pour la machine, autant l'essayer. Pour ma part, sur mes requêtes, j'ai réduit presque par 2 le temps de création, mais comme je ne suis pas un expert, il ne faut peut-être pas croire que vous obtiendrez la même chose.

L'installation

Pour l'installer, j'ai suivi le tutoriel de HowtoForge, que j'ai découvert, il y a peu, suite à mon passage vers mon propre serveur dédié. La version de ma Debian est une Lenny (5.04) et ce tutoriel fonctionne parfaitement bien, même si, il est proposé pour la version précédente de Debian. Je vais tout de même le reprendre, histoire de la traduire et de l'expliquer un peu.

Tout d'abord, connectez-vous en tant qu'administrateur (root) à votre serveur. Pour continuer, nous aurons besoin d'ajouter, pour la commande phpize, l'environnement php5-dev.

aptitude install php5-dev

ou prendre la version essentielle

aptitude install build-essential php5-dev

Allons dans le répertoire temporaire pour y mettre nos futurs fichiers de passage.

cd /tmp

Allons ensuite récupérer le dernier paquetage (ici, la 0.9.6.1 dont voici les sources). Copions l'adresse du lien en tar.bz2 pour le coller dans notre interface en ligne de commande comme ceci :

wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2

Désormais, récupérée en un temps record, décompressons notre archive.

tar xvfj eaccelerator-0.9.6.1.tar.bz2

N'oublions pas d'aller dans notre nouveau répertoire pour éviter d'obtenir une erreur de type "cannot find config.m4"

cd eaccelerator-0.9.6.1

Attention aux numéros de versions à respecter. Voilà, il ne reste plus qu'à lancer les procédures de configurations et de créations :

phpize
./configure
make
make install

Désormais, eAccelerator est installé sur notre machine. Mais pour qu'il soit opérationnel, il reste une dernière étape à faire. Sur notre serveur, avec un logiciel de type WinSCP ou gFTP sous linux, (ou toujours en ligne de commande), créons

  • le dossier /var/www/cache/eaccelarator avec un chmod de 0777 pour qu'il soit disponible en lecture et écriture
    mkdir /var/www/cache/eaccelerator
    chmod 0777 /var/www/cache/eaccelerator
    
  • le fichier eaccelerator.ini dans le répertoire /etc/php5/conf.d/ avec nano ou vi
    nano /etc/php5/conf.d/eaccelerator.ini
    

    dans lequel on mettra ceci :

    extension="eaccelerator.so"
    eaccelerator.shm_size="16"
    eaccelerator.cache_dir="/var/www/cache/eaccelerator"
    eaccelerator.enable="1"
    eaccelerator.optimizer="1"
    eaccelerator.check_mtime="1"
    eaccelerator.debug="0"
    eaccelerator.filter=""
    eaccelerator.shm_max="0"
    eaccelerator.shm_ttl="0"
    eaccelerator.shm_prune_period="0"
    eaccelerator.shm_only="0"
    eaccelerator.compress="1"
    eaccelerator.compress_level="9"
    

Différentes options de configurations sont présentées en anglais sur ce wiki officiel. Ici, nous indiquons au module d'utiliser le répertoire créé auparavant dans lequel sera stocké le cache. Enfin, afin de définitivement démarrer le nouveau service, un restart d'apache est nécessaire.

/etc/init.d/apache2 restart

Vérifier son fonctionnement

Pour vérifier qu'il fonctionne correctement, créons et exécutons (en tapant l'adresse dans le navigateur) un fichier phpinfo.php dans /var/www/votresite/ dans lequel on mettra ceci, pour vérifier que l'on a bien la mention "with eAccelerator..."

<?php phpinfo() ?>

Voilà, j'espère que ce petit tutoriel vous aura été utile. Peut-être, comme vous, je me coucherais moins bête, du haut de mes connaissances nuisibles pour la santé des ordinateurs. En tout cas, si vous avez des informations intéressantes à ajouter, si vous avez remarqué des erreurs, ou même si vous voulez proposer votre retour d'expérience sur cette extension, les commentaires sont là pour ça :)

En cas de désactivation suite à une mise à jour du serveur...

J'ai toujours dit que je n'étais pas un expert, et si le module n’apparaît plus, suite, par exermple, à une mise à jour de votre serveur, retentez l'installation à partir de l'étape où vous vous placez dans le répertoire d'eAccelerator.

cd eaccelerator-0.9.6.1
./configure
make clean
make install

Pour cette étape, si vous avez des éléments d'informations supplémentaires à apporter, ils seront les bienvenus avec un gros poutou en remerciement :)



Youtube MP3 Podcaster : télécharger la partie audio des podcasts

Internet n'est pas encore totalement démocratisé dans nos voitures. Il en prend le chemin, toutefois, mais ce genre d'option est encore réservée à une certaine élite. Du coup, comment faire pour écouter ses [...]

DIABLO 3 : le Diable s'habille dans un DRM et tout le monde l'aide

À chaque nouvelle sortie d'un jeu qui cartonne, c'est toujours la même rengaine. Les joueurs les plus gueulards sortent de leurs gonds pour dénoncer la présence de ses DRM. Le dernier en date, c'est Diablo 3. Depuis [...]

Pédophilie : Orange appliquera la LOPPSI par un filtrage par DNS

Avec la LOPPSI, en France, l'utilisation des DNS tiers contournant ceux que son FAI propose pourrait bien devenir illégal. En effet, comme le rapporte PCInpact, Orange a déjà pris des mesures, et surtout les [...]

Ajouter des colonnes d'informations dans Nautilus (photos et musiques)

Vous avez beaucoup de photos ou de musiques dans votre ordinateur, et vous utilisez Ubuntu, ou une autre distribution utilisant l'excellent gestionnaire de fichiers Nautilus ? Vous aimerez alors cette extension de [...]

Compléter DuckDuckGo avec l'extension DDGComplete pour Firefox

J'aime beaucoup DuckDuckGo que j'utilise désormais au quotidien. Il évolue dans le bon sens pour les développeurs de sites et de services web. Ce moteur de recherche propose aussi de nombreux goodies, comme vous [...]