aadrien
27/03/2010, 11h03
Les bénéfices de la méthode
Pour améliorer eaccelerator, j'utilise un ramdisk. Un ramdisk c'est un disque dur qui est stocké en RAM, il est donc plus rapide mais est vidé à chaque reboot. Par défaut les ramdisk chez OVH sont de 4M. Je viens d'arriver au bout des 4M. Alors comment
Je vous enjoins également à installer Lighttpd qui est très performant à la place d'Apache, même s'il demande une adaptation. En effet le format de fichier est très flexible et donc compliqué à priori. Une fois adapté, je n'ai plus de soucis pour décrire un nouveau site, mettre les paramètres SSL sur un sous domaine, avoir des sous domaines avec des dossiers différents, charger les URLs spéciales de Drupal, faire l'équivalent de .htaccess sur tout un domaine, etc. La documentation est très bien pour ça. Le format de configuration ne décrit pas Lighttpd mais il le programme. En effet il est compilé au démarrage de Lighttpd. Je suis sûr que s'il y a des intéressés pour un tutoriel, ils me le diront.
Installer un ramdisk
Pour installer un ramdisk d'une taille choisie chez OVH sans avoir à bidouiller ni lilo ni grub c'est simple :
Optionnel
pour enlever un ramdisk actuel s'il existe
La manipulation en elle-même
ajouter dans /etc/rc.local avant "exit 0"
Comme ça le ramdisk sera monté au démarrage
Editer /etc/fstab et ajouter la ligne
maintenant Mount connait les détails de /tmp/ramdisk0 et il peut l'appeler par son nom. On peut ajouter d'autres options que vous pourrez trouver dans
En regardant dans la section sur l'option -o qui présente les paramètres, à la section tmpfs, vous trouverez des détails pour intégrer l'utilisateur ou les permissions d'accès directement dans fstab
Puis executer la séquence suivante pour utiliser 50M de ramdisk.
J'aime pas avoir à toucher lilo pour quelque chose de si simple. Juste RTFM
Combien de RAM j'alloue au cache?
Dans le fichier fstab, j'ai mis 50M. Pourquoi 50M? Juste parce que 100M c'est trop et que 4M c'est trop peu. A vous d'adapter la valeur dans fstab en fonction de ce que vous dit la commande
sur l'utilisation du ramdisk. Trop grand : on réduit, trop petit : on agrandit. Pensez juste à le détruire avant de le recréer à une nouvelle taille
Préparer pour eaccelerator
Pensez à aller voir la dernière version d'eaccelerator sur http://bart.eaccelerator.net/source
Maintenant que vous avez le source sur votre serveur, on passe à la compilation d'eaccelerator. Le make clean sert à effacer toute configuration précédente pour éviter qu'elle n'interfère. Utile quand vous avez changé de version de PHP ou d'eaccelerator et que vous devez recompiler eaccelerator avec cette nouvelle version.
Compiler eaccelerator
cette dernière commande doit vous produire une sortie du type
Copiez là, vous en avez besoin pour la suite.
Configurer eaccelerator
Si vous utilisez Apache : dans le répertoire /etc/php5/apache2/conf.d
Si vous utilisez (Fast)CGI : dans le répertoire /etc/php5/cgi/conf.d
Créez un fichier eaccelerator.ini et copiez-y le code ci-dessous
Vous avez noté la ligne du cache pointe sur le ramdisk que nous avons créé et la dernière ligne vers le fichier de contrôle de l'activité d'eaccelerator. Cette page vous donnera une idée de ce qui se passe dans le cache.
Pour l'installer rien de plus simple
Attention tout de même car cette page est accessible pour tous sur le web. Prévoyez un mot de passe.
et remplacez le code par défaut par le votre dans la section
Vérifier que ça marche
Relancez simplement le serveur web en fonction de ce que vous avez installé, je vous laisse faire, il doit certainement y avoir un tutoriel là-dessus
- Améliorer la performance de PHP grâce au cache de code d'eaccelerator
- Améliorer la performance d'eaccelerator en cachant le code en RAM et non sur le disque
- Eviter de modifier trop profondément le système pour le garder stable
- Utilisable pour tous les serveurs web
Pour améliorer eaccelerator, j'utilise un ramdisk. Un ramdisk c'est un disque dur qui est stocké en RAM, il est donc plus rapide mais est vidé à chaque reboot. Par défaut les ramdisk chez OVH sont de 4M. Je viens d'arriver au bout des 4M. Alors comment
- On crée un ramdisk d'une taille libre
- On installe eaccelerator
- On configure eaccelerator
Je vous enjoins également à installer Lighttpd qui est très performant à la place d'Apache, même s'il demande une adaptation. En effet le format de fichier est très flexible et donc compliqué à priori. Une fois adapté, je n'ai plus de soucis pour décrire un nouveau site, mettre les paramètres SSL sur un sous domaine, avoir des sous domaines avec des dossiers différents, charger les URLs spéciales de Drupal, faire l'équivalent de .htaccess sur tout un domaine, etc. La documentation est très bien pour ça. Le format de configuration ne décrit pas Lighttpd mais il le programme. En effet il est compilé au démarrage de Lighttpd. Je suis sûr que s'il y a des intéressés pour un tutoriel, ils me le diront.
Installer un ramdisk
Pour installer un ramdisk d'une taille choisie chez OVH sans avoir à bidouiller ni lilo ni grub c'est simple :
Optionnel
Code:
umount /tmp/ramdisk0
La manipulation en elle-même
ajouter dans /etc/rc.local avant "exit 0"
Code:
mkdir /tmp/ramdisk0 mke2fs /dev/ram0 mount /tmp/ramdisk0 chmod 777 /tmp/ramdisk0 exit 0
Editer /etc/fstab et ajouter la ligne
Code:
/dev/ram0 /tmp/ramdisk0 tmpfs size=50M 0 0
Code:
man 8 mount
Puis executer la séquence suivante pour utiliser 50M de ramdisk.
Code:
mkdir /tmp/ramdisk0 mke2fs /dev/ram0 mount /tmp/ramdisk0 chmod 777 /tmp/ramdisk0
Combien de RAM j'alloue au cache?
Dans le fichier fstab, j'ai mis 50M. Pourquoi 50M? Juste parce que 100M c'est trop et que 4M c'est trop peu. A vous d'adapter la valeur dans fstab en fonction de ce que vous dit la commande
Code:
df -h
Préparer pour eaccelerator
Pensez à aller voir la dernière version d'eaccelerator sur http://bart.eaccelerator.net/source
Code:
apt-get install build-essentials apt-get install php5-dev cd /usr/src/ wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2 bzip2 -d eaccelerator-0.9.6.tar.bz2 tar -vxf eaccelerator-0.9.6.tar cd eaccelerator-0.9.6
Compiler eaccelerator
Code:
make clean phpize5 ./configure -enable-eaccelerator make make install
Code:
Installing shared extensions: /usr/lib/php5/20060613+lfs/
Configurer eaccelerator
Si vous utilisez Apache : dans le répertoire /etc/php5/apache2/conf.d
Si vous utilisez (Fast)CGI : dans le répertoire /etc/php5/cgi/conf.d
Créez un fichier eaccelerator.ini et copiez-y le code ci-dessous
Code:
zend_extension=”//eaccelerator.so” eaccelerator.shm_size=”0″ eaccelerator.cache_dir=”/tmp/ramdisk0” eaccelerator.enable=”1″ eaccelerator.optimizer=”1″ eaccelerator.check_mtime=”1″ eaccelerator.debug=”0″ eaccelerator.shm_only=”0″ eaccelerator.compress=”1″ eaccelerator.compress_level=”9″ eaccelerator.allowed_admin_path=”/ /control.php”
Pour l'installer rien de plus simple
Code:
cp /usr/src/eaccelerator-0.9.6/control.php //control.php
Code:
pico //control.php
Code PHP:
/** config **/
$user = “*****”;
$pw = “*****”;
/** /config **/
Relancez simplement le serveur web en fonction de ce que vous avez installé, je vous laisse faire, il doit certainement y avoir un tutoriel là-dessus