Benchmark de differentes installations

Questions sur l'installation d'Apache/PHP/MySQL.

Modérateur : Modérateurs

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Benchmark de differentes installations

Messagepar JalaL » lun. 27 mars 2006, 18:29

Bonjour a tous

Je suis en train de tester differents types d'installations pour créer un benchmark qui aiderait pas mal de personnes a trouver le type d'installation optimal surtout ceux qui ont un serveur dedié en production.

Donc je passerai pas une installation d'Apache 1.3.34 et PHP 4.1.2 (php dymanique et statique), ensuite Apache 1.3.34 et PHP 5.1.2... jusqu'à faire pratiquement toutes les combinaisons d'Apache 1.3.34/2.0.55/2.2 et PHP 4.4.2/5.1.2 et je voudrais savois si ca interesserait quelqu'un.

D'apres mes premiers tests, l'installation de php4 en module dynamique (--with-apxs) est plus rapide que le module statique (--with-apache) : Je veux dire que l'execution des scripts php est plus rapide en module dynamique... Donc je vais ignorer ce type d'installation dans les futurs tests, surtout qu'Apache 2.0.x et 2.2.x ne la supportent pas.

J'ai fait une installation la plus basique

Code : Tout sélectionner

#Pour apache
./configure --prefic=/usr/local/apache --enable-module=so
make
make install
#Pour PHP notez qu'il faut mettre --with-apxs2 si vous installez avec Apache 2.x.x
./configure --prefic=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs
make
make install


Pour le benchmark de l'installation, j'ai utilisé l'outil ab fournit avec Apache, vous le trouverez dans /usr/local/apache/bin

Et voici le tableau recapitulatif de tous les benchmarks
Image

Remarques
1. L'appel de la racine du serveur ouvre index.html, il y a une baisse de performances quand le serveur cherche le fichier par defaut a afficher (index.html) quand on ouvre la racine du serveur
2. Le ficher index.html contient (texte brut sans balises html)

Code : Tout sélectionner

Hello World!

3. Le fichier hello.php contient

Code : Tout sélectionner

<?php
echo "Hello World!";
?>

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Messagepar JalaL » lun. 27 mars 2006, 19:50

Je viens just de finir les tests avec Apache 1.3.34 et PHP 4.4.2/5.1.2

Je vais publier les chiffres des demain, en meme temps que les tests avec Apache 2.0.55 et PHP 4.4.2/5.1.2

Pour l'instant le gagnant est Apache 1.3.34 + PHP 4.4.2 (module dynamique)

Pour l'instant je fais mes tests avec le Kernel 2.4.32, peut etre qu'avec le Kernel 2.6.15 c'est plus interessant... on verra la suite des tests :D

Avatar de l’utilisateur
goldyfruit
Membre avancé
Membre avancé
Messages : 96
Inscription : mar. 27 sept. 2005, 1:38
Localisation : Paris
Contact :

Messagepar goldyfruit » lun. 27 mars 2006, 20:48

Comment tu fait les tests avec Apache 2 ?

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Messagepar JalaL » lun. 27 mars 2006, 23:47

goldyfruit a écrit : Comment tu fait les tests avec Apache 2 ?

Comme pour Apache 1.3... avec ab

<a href='http://httpd.apache.org/docs/2.0/programs/ab.html' target='_blank'>http://httpd.apache.org/docs/2.0/programs/ab.html</a>

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Messagepar JalaL » mar. 28 mars 2006, 19:35

J'avais préparé un bon text avec tous les descriptifs et codes... mais malheureusement mon pc s'est planté avant que j'attache le tableau recapitulatif... je vais tout retaper apres, seule chose a dire... Apache 1.3.34 et PHP 4.4.2 sont detrônés... c'est just un changement de partenaire :D

Les nouveau gnagnants sont... Apache 2.2.0 et PHP 4.4.2
1. Une performance de 3% plus rapide pour les pages dynamique
2. Une performane de 20% plus rapide pour les pages statiques
3. N'oublions pas que c'est les gagnants, donc ils detiennent les score les plus élevés en terme de rapidité que toutes les autres installations.

Si quelqu'un veut migrer son serveur vers Apache 2, il est plus interessant de passer directement à la version 2.2.0. Apache 2.0.55 ne presente aucun interet

Avatar de l’utilisateur
goldyfruit
Membre avancé
Membre avancé
Messages : 96
Inscription : mar. 27 sept. 2005, 1:38
Localisation : Paris
Contact :

Messagepar goldyfruit » mer. 29 mars 2006, 5:10

Peux tu me dires (si c'est possible avec ce que je vais te donner) si le bench est correcte ou déplorable ?

La commande de bench :

Code : Tout sélectionner

ab2 -n 50 www.goldzoneweb.info/index.php

This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0
Copyright © 1996 Adam Twiss, Zeus Technology Ltd, <a href='http://www.zeustech.net/' target='_blank'>http://www.zeustech.net/</a>
Copyright © 1998-2002 The Apache Software Foundation, <a href='http://www.apache.org/' target='_blank'>http://www.apache.org/</a>

Benchmarking http://www.goldzoneweb.info (be patient).....done


Server Software:        Apache/2.0.55
Server Hostname:        http://www.goldzoneweb.info
Server Port:            80

Document Path:          /index.php
Document Length:        6490 bytes

Concurrency Level:      1
Time taken for tests:  4.266905 seconds
Complete requests:      50
Failed requests:        15
  (Connect: 0, Length: 15, Exceptions: 0)
Write errors:          0
Total transferred:      344485 bytes
HTML transferred:      324485 bytes
Requests per second:    11.72 [#/sec] (mean)
Time per request:      85.338 [ms] (mean)
Time per request:      85.338 [ms] (mean, across all concurrent requests)
Transfer rate:          78.75 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median  max
Connect:        0    0  0.0      0      0
Processing:    79  84  6.7    83    115
Waiting:      79  84  6.7    82    115
Total:        79  84  6.7    83    115

Percentage of the requests served within a certain time (ms)
  50%    83
  66%    84
  75%    85
  80%    86
  90%    95
  95%    97
  98%    115
  99%    115
100%    115 (longest request)


Voilà merci :)

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Messagepar JalaL » mer. 29 mars 2006, 14:11

Dans le test il faut voir ca
Requests per second:    11.72 [#/sec] (mean)


Mais essaye plutot de simuler 10 utilisateurs en ligne (en meme temps) qui font 50 requettes chacun (images et html de la page)

Code : Tout sélectionner

ab -n 50 -c 10 www.goldzoneweb.info/index.php


Mais pour tester la rapidité de mes installations, j'ai utilisé la moindre petite page html statique et le moindre script php

La page html statique contenait
Hello World!

Le script php
<?php
echo "Hello World!";
?>


Comme ca les resultats des tests vont donner des gros chiffres, donc la precision des resultats sera tres bonne pour juger... entre 200 requette/s à 350 requette/s pour le php sur ma machine de test*.

* Machine de test : AMD 350 MHz + 512 Mo PC100

Avatar de l’utilisateur
goldyfruit
Membre avancé
Membre avancé
Messages : 96
Inscription : mar. 27 sept. 2005, 1:38
Localisation : Paris
Contact :

Messagepar goldyfruit » mer. 29 mars 2006, 18:17

Merci pour les infos !!
Etant donné que je suis entrain de refaire mon serveur web, je suis bien intéressé par ton topic !!

;)

Avatar de l’utilisateur
foisse
Nouveau membre
Messages : 1
Inscription : jeu. 30 mars 2006, 5:58

Messagepar foisse » jeu. 30 mars 2006, 7:34

Boujour a tous
J'ai remarqué que personne ne parlait de php6 et de zend 3 encore en développement mais disponibles a cette adresse <a href='http://snaps.php.net/' target='_blank'>http://snaps.php.net/</a>
J'ai eu quelques difficultés à l'installation notament pour httpd.conf
ou il ne veux pas prendre le module php6 à cause de son nom.
Mais en remplaçant simplement le nom et en chargeant la dll du 6 cela semble fonctionner. :huh:
code httpd.conf:
<span style='color:green'>LoadModule php5_module "D:/Apache2/php/php6apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/Apache2/conf"
</span>
<span style='color:red'>phpinfo() affiche zend engine 3.0.0-dev et PHP Version 6.0.0-dev</span>

J'ai cherché brièvement des infos sur ces nouvelles versions, et j'ai rien trouvé.
Quelqu'un pourrait m'en dire plus ?
Comment faire pour charger le module avec un autre nom. 'php6_module'
Cela peut-il poser des problèmes avec cette configuration ?

Merci à Jalal pour les tests.

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Messagepar JalaL » sam. 01 avr. 2006, 13:29

Ah ca c'est une tres bonne nouvelle, j'etais pas au courat que php6 est en cours de developpement

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Messagepar JalaL » mer. 05 avr. 2006, 14:51

Revenons a mes benchmarks,

J'ai testé les memes installations sur une machine récente sous kernel 2.6.16 et a vrai dire les resultats sont completement aleatoires... certainement a cause de la rapidité du processeur. Pour la meme installation (meme version apache/php) le test donne a chaque fois des résultats differents avec une marge entre chaque test de 500 requettes/s... ce qui ne permet pas de trouver la configuration la plus rapide..

Il faudra que je trouve un autre moyen pour tester

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Messagepar JalaL » lun. 10 avr. 2006, 19:56

Je n'ai pas encore baissé les bras :D

Je viens de tester encore une fois toutes les installations apache 1.3.34/2.0.55/2.2.0 avec php 4.4.2/5.1.2 sous kernel 2.4.32/2.6.16, ce qui fait 12 installations differentes.

Je vais essayer de publier les tableaux recapitulatifs dans quelques jours. Pour monter un peu le suspens, on dirait que Kernel 2.4.x est plus performant que 2.6.x. Toutes les installations sous Kernel 2.6.16 sont 13% moins performantes que sur Kernel 2.4.32

Apache 2.2.0 est le plus performant sous Kernel 2.4.32
Apache 1.3.34 est le plus performant sous Kernel 2.6.16

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Messagepar JalaL » mar. 11 avr. 2006, 13:02

Enfin, le fameux tableau...

Merci de rendre le sujet Post-it :D

Avatar de l’utilisateur
Gandalf
Sorcier des forums
Sorcier des forums
Messages : 2528
Inscription : jeu. 04 déc. 2003, 22:58

Messagepar Gandalf » mer. 12 avr. 2006, 0:06

pourrais-tu poster la méthodologie des tests s'il te plait ?

- machine(s) utilisée(s) et leurs configs (avec eventuellement un ps -ef, et un output des modules des kernels, et un uname -a)
- lignes de commandes des tests et/ou scripts utilisés

je pense qu'il serait bien de pouvoir reproduire ces tests pour voir leur fiabilité :)

je n'ai pas personnellement entendu dire beaucoup de bien de ab, c'est un outil assez basique, somme toute, qui ne permet pas de tester le serveur en condition "réelle" :(

je trouve ce sujet très intéressant, d'ailleurs, alors j'épingle :)
Celui qui détruit quelque chose pour savoir ce que c'est, a quitté le chemin de la sagesse.

Avatar de l’utilisateur
JalaL
Membre
Membre
Messages : 22
Inscription : lun. 19 déc. 2005, 18:53

Messagepar JalaL » mer. 12 avr. 2006, 15:17

Merci pour le post-it :D

Je trouve aussi que ab n'est pas trop fiable, surtout qu'a partir d'Apache 2, le chargement et execution du script php est plus rapide que le html, qui n'a besoin que d'etre lu !!!

Il aurait peut etre fallut tester le serveur a chaque fois d'un autre ordinateur, au lieu d'executer le script de test sur le serveur lui meme.

J'ai utilisé Trustix 2.2 (Kernel 2.4.32) et 3.0 (Kernel 2.6.16), distributions Linux pour serveur.

La machine de test est un Pentium III 1 Ghz avec 512 Mo PC133 ECC.

J'ai aussi utilisé le fichier httpd.conf par defaut

Le script de test

Code : Tout sélectionner

#/bin/bash
service httpd stop
sleep 1
echo "" > /usr/local/apache/logs/access_log
echo "" > /usr/local/apache/logs/error_log
service httpd start
cp index.html /usr/local/apache/htdocs/index.html
cp hello.php /usr/local/apache/htdocs/hello.php
chmod 644 /usr/local/apache/htdocs/index.html
chmod 644 /usr/local/apache/htdocs/hello.php
sleep 1
/usr/local/apache/bin/ab -w -n 5000 -c 10 http://localhost/ > /usr/local/apache/htdocs/bench.html
/usr/local/apache/bin/ab -w -n 5000 -c 10 http://localhost/index.html >> /usr/local/apache/htdocs/bench.html
/usr/local/apache/bin/ab -w -n 5000 -c 10 http://localhost/hello.php >> /usr/local/apache/htdocs/bench.html
chmod 644 /usr/local/apache/htdocs/bench.html


Revenir vers « Installation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités