Conseils — 16/03/2012 at 11:38

Benchez vos performances PHP !

by

Bencher son PHP

De nos jours, les 2/3 des solutions de Ecommerce utilisent PHP. Si votre PHP est lent, votre site est lent et vos serveurs vos aussi monter en charge.

Du coup, savoir si l’on a des performances d’interprétation PHP correcte ou non est forcément important.
Beaucoup de facteurs influent sur le temps d’interprétation de votre code PHP. Des facteurs “internes” comme la qualité de votre code ou sa logique mais aussi beaucoup de facteurs “externes”, comme l’environnement serveur, la présence ou non de Zend Server, d’APC code cache, les versions de PHP, Apache, Linux, le paramétrage des différents démons, etc.

On a même pu voir des délais d’interprétation PHP dramatiques liés à l’activation de l’option “economie d’énergie” dans le bios de certaines lames.

Bref, comme l’ensemble est un peu complexe, il faut déjà savoir ce que sont des bonnes et des mauvaises performances.

Voici donc deux outils intéressants et simples, plus quelques valeurs de comparaison.

PHP Benchmark

Benchmark 1

Le premier Benchmark se trouve ici : http://www.php-benchmark-script.com/download.php?file=bench.zip

Il test 4 grands groupes de fonctions :

  • Les calcules mathématiques
  • Les boucles
  • Les branchements conditionnels (if/then/else/…)
  • Les manipulations de chaines de caractères
Le résultat devrait ressembler à ca :
--------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2012-02-07 20:22:27
Server : www.php-benchmark-script.com
PHP version : 5.2.17
Platform : Linux
--------------------------------------
test_math                 : 2.997 sec.
test_stringmanipulation   : 3.202 sec.
test_loops                : 2.706 sec.
test_ifelse               : 2.410 sec.
--------------------------------------
Total time:               : 11.315 sec.

Benchmark 2

Le second, c’est une autre méthode, qui a son charme aussi car elle test en boucle, ce qui permet de s’assurer d’un résultat dans le temps.
Le script est disponible ici : http://www.free-webhosts.com/php-benchmark-script.php

Il fait des boucles sur ses tests qui devraient vous donner un résultat comme celui-ci :

Free PHP Benchmark Performance Script
Test #1 completed in 26 ms.
Test #2 completed in 26 ms.
Test #3 completed in 26 ms.
Test #4 completed in 26 ms.

Lowest time: 26 ms , Highest time : 26 ms
Average of all 4 times: 26 ms
Average of middle 2 times: 26 ms

Begin again | Stop | Doing 12 iterations. Refreshing in 5 seconds…

Interpréter les résultats

Sur une petite machine, en production (qui ne fait donc pas que ça), (VPS avec deux coeurs AMD 2382 (5200 bogomips) et 4 Go de RAM), mais avec une bonne configuration, on obtient les résultats suivants :

--------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2012-03-13 12:03:22
Server : www.nbs-system.com
PHP version : 5.2.6-1+lenny10
Platform : Linux
--------------------------------------
test_math                 : 1.966 sec.
test_stringmanipulation   : 2.017 sec.
test_loops                : 2.576 sec.
test_ifelse               : 2.641 sec.
--------------------------------------
Total time:               : 9.2 sec.

Si vous obtenez plus de 12 secondes, vous avez probablement une machine lente ou mal configurée.

Free PHP Benchmark Performance Script
Test #1 completed in 26 ms.
Test #2 completed in 26 ms.
Test #3 completed in 26 ms.

Si vous obtenez un temps très supérieur, de l’ordre de 40 ms ou 70 ms, vous avez soit une machine très lente, soit mal configurée.

2 Comments

  1. Pingback: Benchez vos performances PHP ! | EcoConception Logicielle | Scoop.it

  2. Pingback: Benchez vos performances PHP ! | DEVOPS | Scoop.it

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>