Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut à tous !
Voilà, je suis confronté à un problème assez étrange de performance. En effet, en charge, l'utilisation processeur faite par Zend Framework explose. J'ai donc élagué le code jusqu'à obtenir quelques malheureuses lignes de codes, qui elles aussi font exploser les performances en charge.
<?php set_include_path( get_include_path() . PATH_SEPARATOR . '../../_app/' . 'Zend' . PATH_SEPARATOR . '../../_app/' . 'config' . PATH_SEPARATOR . '../../_app/' . 'class' . PATH_SEPARATOR . '../config' . PATH_SEPARATOR . '../../_app/' . 'include' ); require( 'Zend/Controller/Front.php' );
Par explosion de performances du code ci-dessus, je veux parler d'une utilisation processeur de 15% sur un serveur xeon quadri-processeur avec un refresh de page 6 fois par seconde. Un site en PHP assez lourd sans passer par Zend Framework prend 0.1% de ressource processeur sur ce même serveur. Mon include path n'est pas en cause, je tiens à la préciser. Quelqu'un a-t-il une idée ?
Merci d'avance !
Hors ligne
C'est un peu bizarre. Je soupçonne qu'il faut aller chercher ailleurs le problème que sur le ZF.
J'ai essayé ton code. En m'exitant sur le reload, j'arrive à attendre 5% de CPU avec le ZF et 2% avec un fichier php vide. (genre 5 clics par seconde).
Sinon j'ai lancé un apachebench sur ton code sur une brouette (celeron 2GHz, 256Mo de ram sous centos 5) Ca me donne ça :
time /usr/local/apache2/bin/ab -n 1000 -c 1 http://xxx/toto.php 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 xxx (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Finished 1000 requests Server Software: Apache Server Hostname: xxx Server Port: 80 Document Path: /toto.php Document Length: 0 bytes Concurrency Level: 1 Time taken for tests: 16.82641 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 135000 bytes HTML transferred: 0 bytes Requests per second: 62.18 [#/sec] (mean) Time per request: 16.083 [ms] (mean) Time per request: 16.083 [ms] (mean, across all concurrent requests) Transfer rate: 8.15 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 0 Processing: 15 15 0.6 15 17 Waiting: 0 14 3.0 15 17 Total: 15 15 0.6 15 17 Percentage of the requests served within a certain time (ms) 50% 15 66% 15 75% 16 80% 16 90% 16 95% 16 98% 16 99% 16 100% 17 (longest request) real 0m16.094s user 0m0.072s sys 0m0.268s
A+, Philippe
Hors ligne
5% cela me semble beaucoup. Mais pas vraiment comparé aux 2% de la page vide. J'ai essayé mon test sur un autre serveur largement moins puissant (dedibox avec celeron), je suis monté à 8% (ce qui est certes moins élevé que les 15% du quad-core).
Et apachebench (je ne connaissais pas, ça m'a l'air sympa pour stresser le serveur sur une page particulière) me fait en moyenne 10ms par requête sur ledit serveur, ce qui me semble bien court.
Néanmoins, je ne pense pas que du code très basique hors ZF (je ne fais qu'inclure un fichier, c'est hallucinant !) doive prendre autant de ressources.
M'enfin, merci pour l'aide, cela m'aura au moins fait connaitre un truc ^^'
Dernière modification par bensor (21-10-2008 15:33:35)
Hors ligne
Pages: 1