- Plan du Site | Contact

Introduction

Avec un langage de script comme PHP, plusieurs solutions d'optimisations sont possibles : optimisation de apache, optimisation de PHP et mise en cache des pages. Ces différentes optimisations permettent d'obtenir un gain de performance pouvant aller jusqu'à plus de 50% selon les cas. Il est même envisageable - si vous avez la main sur votre serveur - de recompiler votre installation d'apache et/ou de PHP...

 

PHP dispose de plusieurs niveaux de cache et d'optimisation. Bien sûr, rien ne remplacera la qualité initiale du code ! Là encore, des outils comme xdebug peuvent nous y aider, mais là n'est pas l'objet de cet article.

 

Quand on parle de cache avec PHP, il est utile de distinguer le niveau de cache auquel on fait référence. On pourra parler de :

- cache d'opcode (accélération de code)

- cache en mémoire vive

- cache en fichiers

 

Dans cette section, on parlera de la première solution à mettre en place lors de l'optimisation d'un installation de PHP qui est le cache d'opcode. Pourquoi la première ? Car c'est celle qui nous apportera le gain de performances le plus important avec un minimum d'efforts.

 

Le Cache d'opcode

Ce que l'on appelle l'opcode est un état intermédiaire du code PHP qui se situe entre le script initial et l'exécutable car avant de lancer l'exécution proprement dite, PHP transforme le script en ... opcode !

 

Un système de cache d'opcode se charge de garder en mémoire l'opcode généré et permet de s'affranchir de cette coûteuse opération de transformation.

 

Cependant, ce type de cache nécessite une modification interne de PHP. Il faut donc avoir accès à la machine - ce qui sera impossible sur un hébergement mutualisé. Par contre, il n'y a aucun besoin de modifier les pages de votre site et le gain de performances est tout à fait notable !

 

To top

Solutions

La liste de solutions présentée ci-dessous n'est pas exhaustive, mais constitue déjà un bon point de départ pour vos recherches.

 

Zend Accelerator

www.zend.com/store/products/zend-accelerator.php

  • avantage: zend est LE groupe historique qui a permis le développement de PHP et de son moteur, soyez en sûr, la qualité et l'optimisation seront au rendez-vous.
  • inconvénient : la solution gratuite n'est pas la plus performante (logique !).

 

 

APC (Alternative PHP Cache)

pecl.php.net/package/APC

  • APC est la solution qui permet d'obtenir le meilleur compromis de souplesse d'installation et de performances : à essayer sans soucis.

 

 

eAccelerator

eaccelerator.net

  • eAccelerator (ex: Turck MMCache) est une solution performante, notamment dans le cas de scripts peu complexes (comparé à APC). Malheureusement, à ce jour il n'est pas encore disponible pour la version 5 de PHP.

 

 

PHP Accelerator

www.php-accelerator.co.uk

 

 

To top

Installation

$ sudo apt-get update

$ sudo apt-get install php5-dev apache-dev php5-cli php-pear

 

NB : Si vous utilisez php4, il faut prendre les paquets php4-cli php4-pear

 

L'utilitaire de gestion de modules d'Apache2 s'appelle apxs2. APC va chercher par défaut la version Apache1, on fait donc pointer un lien symbolique vers la bonne version :

$ sudo ln -s /usr/bin/apxs2 /usr/bin/apxs

 

On peut maintenant lancer l'installation d'APC via PECL :

$ sudo pecl install apc

 

On rajoute maintenant la ligne suivante dans /etc/php5/apache2/php.ini :

extension=apc.so

 

Il ne reste plus qu'a redemarrer apache2 pour bénéficier de cette optimisation du cache d'opcode !

 

Note

Si cet article vous a été de quelque secours, n'hésitez pas à laisser un message sur notre Blog / FAQ, il est là pour cela ! Merci.

Informations
6-03-2013
Le site www.laboratoire-ambio.fr vient d'être certifié HONcode.
5-12-2012
Dans le cadre de la procédure de Labellisation auprès des collectivités membres du Syndicat Mixte...
28-03-2012
Toute nouvelle section sur notre site pour vous présenter une nouvelle rubrique qui sera entièreme...
22-08-2009
Un cluster Single System Image (SSI) comme Kerrighed offre la vue d'une unique machine multi-process...
21-08-2009
Grâce aux efforts continus de la communauté open source, Heartbeat2 permet de mettre en place des ...
17-10-2008
Sortie le 13 Oct 2008 et compatible avec Office 2007 de Microsoft la nouvelle mouture de OpenOffice...
29-05-2008
... Et profitez d'un Web meilleur : Mozilla tente d'établir un record du nombre de logiciels tél...
29-08-2007
Plusieurs extensions permettent d'intégrer les éléments de cette API mise à disposition par Goog...
Services | Solutions | Formations | Portfolio | Accès Client
© 2004-2015 ACCEDO - Siret : 452 155 112 00033
105, Impasse La Corbière - 50400 GRANVILLE
Tél : 06 83 88 31 78