Tuto:
Johanna

Reviewed by:
Rating:
4
On 28 novembre 2012
Last modified:30 novembre 2012

Summary:

La configuration multiple du script.
L'amélioration de la performance du serveur.
Le jeu entre le cache disque et mémoire partagée.

Installation de eaccelerator

Comment installer eAccelerator

eAccelerator est un script de cache qui permet d’augmenter les performances de votre serveur dédié lors de la génération d’un code php.

La mise en cache de tableaux d’op-codes de php permet une amélioration sensible du temps d’exécution puisque ces tableaux sont stockés dans la mémoire vive du serveur ou sur le disque dur et réutilisés à chaque appel de page jusqu’à nouvelle génération.

Ce script qui est un fork de TurckMMCache n’est pas le seul puisque l’on peut aussi trouver memcache et d’autre dont l’action diffère mais pour un résultat similaire.
L’installation la plus simple reste celle à partir des sources car elle permet d’utiliser la dernière version en date. On commence par installer les différentes dépendances si nécessaire(en root).
apache >= 1.3
mod_php >= 5.1 ou php avec support fastcgi
autoconf, automake, libtool, m4

Pour phpize il vous faut php dev.

apt-get install php5-dev make

Puis on se déplace dans un répertoire pour installer l’archive sur le site github. Par commodité on se place sous /usr/src/ et on décompresse le fichier.

 cd /usr/bin/ wget:https://github.com/eaccelerator/eaccelerator/tarball/master tar xvzf eaccelerator-eaccelerator-42067ac.tar.gz 

Ensuite on se place dans le répertoire du dossier que l’on vient de créer et on exécute l’instruction phpize de php5-dev nécessaire pour générer les fichiers de compilation

 /usr/bin/phpize 

Après la génération de ces fichiers, nous pouvons utiliser le fichier de configure en lui apportant certains paramètres. Ceux-ci ont changé tout au long des modifications du script par ses concepteurs, mais pour une installation sur un php dont la version est supérieure à php5 voici le code ( modifiez le chemin en fonction de votre os)

 ./configure --enable-shared  --with-php-config=usr/bin/php-config 

Ensuite nous compilons toujours dans le même dossier (installation à effectuer sous root pour le bon transfert des fichiers et dossiers)

 make make install 

Quand l’installation est réussie, nous devons le configurer suivant une utilisation comme extension zend ou php.

Comme extension Zend:

 zend_extension="/usr/lib/php5/eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" 

Comme extension Php:

 extension="eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" 

2 Choses importantes et source d’erreurs à retenir sur ces fichiers:

1- Le chemin de zend-extension doit correspondre à vos dossiers php( selon os).
2- la valeur de cache_dir où va se trouver votre cache.

Les autres valeurs sont:

eaccelerator.shm_size
La valeur de mémoire partagée (en megabytes) qu’eAccelerator pourra utiliser.
0  est la valeur par défaut.

eaccelerator.cache_dir
Le chemin du dossier utilisé pour stocker le cache du code précompilé,des données de session,du contenu et autres. Les mêmes données peuvent être stockées dans la mémoire vive pour un accès plus rapide. La valeur par défaut est « /tmp/eaccelerator ».

eaccelerator.enable
valider ou non l’utilisation de eAccelerator. 1 pour fonctionne et 0 pour ne fonctionne pas. La valeur par défaut est 1.

eaccelerator.optimizer
Valide ou pas l’optimisation intérieur pour une accélération accrue. 1 for valide ou 0 pour non. La valeur par défaut est 1.

eaccelerator.debug
Valide ou pas les logs de debbug. 1 pour valide et 0 pour non. La valeur par défaut est 0.

eaccelerator.check_mtime
Vérifie si le fichier php a été modifié . 1 pour oui et 0 pour non. Vous devez le laisser à 1 si vous voulez recompiler les fichiers php après modification. La valeur par défaut est 1.

eaccelerator.filter
Détermine quels fichiers php doivent être compilés. (par exemple « *.php *.phtml ») ,ce qui signifie si on doit les mettre en cache ou pas. Si la règle commence par « ! », on ignore les fichiers suivants cette règle. La valeur par défaut est «  » ce qui signifie que tous les fichiers php seront mis en cache.

eaccelerator.shm_ttl
Quand eaccelerator n’arrive plus à accéder à la mémoire partagée pour un nouveau script il efface les fichiers qui n’ont pas été accédés depuis au moins « shm_ttl » seconds depuis la mémoire. La valeur par défaut est 0 ce qui signifie qu’aucun fichier ne sera effacé.

eaccelerator.shm_prune_period
Quand eaccelerator n’arrive plus à accéder à la mémoire partagée pour un nouveau script il essaie d’effacer les anciens scripts de la mémoire si la tentative précédente a eu lieu « shm_prune_period » secondes avant. La valeur par défaut est 0 ce qui signifie qu’aucun fichier ne sera effacé de la mémoire partagée.

eaccelerator.shm_only
Valide ou pas la compilation de script sur le disque dur. Cela n’a pas d’effet sur les données de session et le cache de contenu. La valeur par défaut est 0 ce qui signifie l’usage de la mémoire partagée et du disque pour le cache.

eaccelerator.allowed_admin_path
Les chemins du script qui ont accès aux informations d’admin et contrôlent l’admin.

Ensuite on rend le dossier cache accessible pour tous:

 mkdir /tmp/eaccelerator chmod 0777 /tmp/eaccelerator 

Pour finir on redémarre le service apache et on devrait voir une amélioration sensible de l’exécution de vos scripts.

VN:F [1.9.20_1166]
Rating: 5.5/10 (2 votes cast)
VN:F [1.9.20_1166]
Rating: +2 (from 2 votes)
Comment installer eAccelerator sur un serveur dédié, 5.5 out of 10 based on 2 ratings

A propos de l'auteur

Photo du profil de johanna

J'aime les jeux, la pâte fimo et les gâteaux. J'ai peu de temps avec mes études mais je me débrouille en informatique et je cherche à apprendre.Je configure des serveurs dédiés avec les tutos et je programme même en php et en Qt4.

Laisser un commentaire