Installation de eAccelerator 0.9.6

Après l’installation de Nginx en reverse proxy avec Apache, j’ai également installé eAccelerator par dessus PHP5. Le tutoriel utilisé est celui-ci : Integrating eAccelerator Into PHP5 (Debian Etch). Attention : depuis que l’article a été écrit, la version de eAccelerator a évolué. La dernière stable est la 0.9.6, donc le chemin de wget est désormais :

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

Pour le reste, je n’ai eu absolument aucune différence dans l’installation par rapport à celle présentée ici (notez par ailleurs que l’installation de php5-dev m’a permit d’utiliser phpize, donc veillez à ne pas “oublier” une commande parmi d’autres).

Eaccelerator, qu’est-ce que c’est ? Si je traduis Wikipédia, voilà ce que cela donne :

eAccelerator est un accélérateur pour PHP dérivé l’extension MMCache pour PHP. eAccelerator fournit un cache pour le bytecode. eAccelerator estopensource et donc est gratuit pour toute utilisation et redistribution. Les vieilles versions non-maintenues fournissaient égaleement un encodeur.

A chaque fois qu’un script PHP est exécuté, PHP parse et compile les scripts vers du bytecode. Une fois installé, eAccelerator optimise le bytecode compilé et le mets en cache sur la RAM ou sur le disque dur. [Suite].

Pour ce qui m’intéresse (les performances de deuxieme-serveur.fr), voilà la comparaison :

L’ancienne configuration était celle-ci :

[sourcecode language=“shell”] coucou:~# ab -n 200 -c 5 deuxieme-serveur.fr This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking deuxieme-serveur.fr (be patient) Completed 100 requests Finished 200 requests

Server Software: nginx/0.5.33 Server Hostname: deuxieme-serveur.fr Server Port: 80

Document Path: / Document Length: 4813 bytes

Concurrency Level: 5 Time taken for tests: 3.885465 seconds Complete requests: 200 Failed requests: 195 (Connect: 0, Length: 195, Exceptions: 0) Write errors: 0 Total transferred: 1031170 bytes HTML transferred: 966500 bytes Requests per second: 51.47 [#/sec] (mean) Time per request: 97.137 [ms] (mean) Time per request: 19.427 [ms] (mean, across all concurrent requests) Transfer rate: 259.17 [Kbytes/sec] received

Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 9.8 0 98 Processing: 10 95 266.8 55 1832 Waiting: 9 69 263.1 26 1797 Total: 10 96 274.9 55 1890

Percentage of the requests served within a certain time (ms) 50% 55 66% 59 75% 62 80% 64 90% 71 95% 79 98% 1794 99% 1832 100% 1890 (longest request) [/sourcecode]

La nouvelle donne ceci :

[sourcecode language=“shell”] coucou# ab -n 200 -c 5 deuxieme-serveur.fr This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking deuxieme-serveur.fr (be patient) Completed 100 requests Finished 200 requests

Server Software: nginx/0.5.33 Server Hostname: deuxieme-serveur.fr Server Port: 80

Document Path: / Document Length: 4833 bytes

Concurrency Level: 5 Time taken for tests: 0.530858 seconds Complete requests: 200 Failed requests: 0 Write errors: 0 Total transferred: 1031600 bytes HTML transferred: 966600 bytes Requests per second: 376.75 [#/sec] (mean) Time per request: 13.271 [ms] (mean) Time per request: 2.654 [ms] (mean, across all concurrent requests) Transfer rate: 1896.93 [Kbytes/sec] received

Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 5.8 0 52 Processing: 2 11 10.2 11 142 Waiting: 0 3 8.5 2 119 Total: 4 12 12.1 11 142

Percentage of the requests served within a certain time (ms) 50% 11 66% 12 75% 12 80% 12 90% 14 95% 19 98% 60 99% 60 100% 142 (longest request) [/sourcecode]

Test du blog hébergé sur deuxieme-serveur.fr

La page d’accueil Pour continuer les tests que j’ai fait dans le précédent billet, voilà ce que j’obtiens désormais :

  • Fichier HTML : 225ms de latence,
  • Premier CSS : 98ms de latence,
  • Premier PNG : 90ms de latence.

Pour la page Readme.html (déjà générée, sans PHP, mais on observe quand même des différences) :

  • Total : 394ms
  • readme.html : 4ms de latence, 137ms de download
  • install.css : 236ms de latence, 4ms de download
  • wordpress-logo.png : 225ms de latence, 28ms de download

Donc par rapport aux précédents tests, j’en conclu que l’installation de eAccelerator a eu pour effet de réduire les temps pour le traitement des fichiers générés, mais pas pour ceux qui sont statiques.

7 réflexions au sujet de « Installation de eAccelerator 0.9.6 »

  1. Ta conclusion est tout a fait normal car comme tu l'indique dans la traduction de Wikipédia "eAccelerator fournit un cache pour le bytecode" Donc optimisation du "bytecode" des fichiers PHP générés et non des pages statiques HTML.
  2. Je pense qu'il serait intéressant de mesurer les performances en combinant eAccelerator avec un outil de cache de page statiques (ex. WP Super Cache pour WordPress).

  3. @Insolite du Geek: C'est le cas là, wp-super-cache était installé. Maintenant, ce que je vais faire, c'est comparer le chargement sans wp-super-cache d'activé avec celui quand il est activé.
  4. Ah non, en fait j'avais mal lu, l'article que tu donnes fournis les même réponses que le paragraphe correspondant du billet de Papygeek.

    Mes besoins sont un peu différents, je vais en parler dans un autre billet.

Les nouveaux commentaires sont désactivés sur cette version statique du blog.