Accélérateur PHP

Si vous n’êtes pas convaincu qu’un accélérateur PHP va vous sauver la vie, prenez donc le temps de lire cet excellent article sur l’amélioration des performances de TYPO3 [ 1].

J’utilise eAccelerator depuis quelques années maintenant et je peux vous assurer qu’il améliore les performances d’environ 4x pour PHP5.

Après avoir configuré votre site pour qu’un maximum de pages (si ce n’est toutes) soient stockées en cache, il est temps de passer aux choses sérieuses…

Téléchargeons la dernière version de eAccelerator en tapant ceci dans un shell :

VERSION=$(wget -q  http://bart.eaccelerator.net/source/ -O - \
| grep ’\[DIR\]’ \
| sed ’s/^.*\/">\([0-9.]*\).*/\1/’ \
| sort -r \
| head -n1)
wget  http://bart.eaccelerator.net/source/$VERSION/eaccelerator-$VERSION.tar.bz2

Compilons maintenant eAccelerator (toutes les informations sont disponibles sur [ 2]) :

$ tar xjf eaccelerator-$VERSION.tar.bz2
$ cd eaccelerator-$VERSION
$ phpize
$ ./configure
$ make
$ sudo make install

Il ne reste plus qu’à l’activer en créant le fichier /etc/php5/apache2/conf.d/eaccelerator.ini :

extension=eaccelerator.so
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"

Créons le répertoire de cache et redémarrons Apache :

$ sudo mkdir /var/cache/eaccelerator
$ sudo chown www-data:www-data /var/cache/eaccelerator
$ sudo chmod 0644 /var/cache/eaccelerator
$ sudo apache2ctl graceful

Tout cela est bien beau, mais nous devrions également faire en sorte que personne ne puisse activer la génération d’une page sans utiliser le cache. C’est d’ailleurs un risque de déni de service (ou DoS). Pour cela, il suffit de rajouter une ligne à notre fichier localconf.php :

$TYPO3_CONF_VARS['FE']['disableNoCacheParameter'] = '1';

Vitesse du backend TYPO3

Pour améliorer encore les performances, au niveau de TYPO3 cette fois, je vous conseille vivement la lecture de l’article de Michiel Roos [ 3].

Flattr