Performances du framework
Bonjour tout le monde, peu de personnes en parle mais il est intéressant de discuter des performances du Zend Framework.
Dans la société pour laquelle je travaille nous avons fait des tests ultra basiques. Et nous sommes arrivés à la conclusion suivante: le Zend Framework n'avance pas, rame la mort même, ...
Nous avons peut-être rater quelque chose, un petit guide sur l'optimisation serait quand meme le bienvenue.
Ci-dessous le code du test
le boot strap, on remarque qu'il n'y a même pas de rendu avec le ViewRenderer mais qu'il y a l'autoload
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
error_reporting (E_ALL) ;
ini_set ('display_errors','yes');
set_include_path('.'. PATH_SEPARATOR . '../library'. PATH_SEPARATOR . '../application/models/'. PATH_SEPARATOR . get_include_path());
include_once('Zend/Loader.php');
Zend_Loader::registerAutoload();
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
$frontController->setControllerDirectory('../application/controllers');
$frontController->setParam('noViewRenderer', true);
$frontController->dispatch(); |
et ensuite le code du controller
Code:
1 2 3 4 5 6
|
class IndexController extends Zend_Controller_Action {
public function afficherAction() {
echo 'prout';
}
} |
donc rien que le controller et un echo pour afficher 'prout'
hop un petit apache dessus: ab -n 100 -c 10 -k http://adresse_qui_va_bien
on obtient un résultat de environ 3.5 req/s.
Un seul echo dans un script php, on obtient des performance 100 fois supérieure.
Autant dire que pour notre projet utilisé un "truc" avec de telle performance c'est comme se tirer une balle dans le pied voir dans la tête.
Est-ce que les avantages du framework nous font gagner des performances au fur et à mesure de son utilisation ?
Enfin pouvez-vous m'aiguiller, me donner des éléments de réponses ...
Moi je suis passé à Linux et plus de soucis
Perso voilà une petite anecdote.
J'ai dév un appli des gestion d'annonces immobilières, j'avais en moyenne une 30taine de requetes par page, Zend_Layout, Zend_Db, MVC etc... les composants de base quoi.
Voici quelques temps pour quelques exemples sur 2 environnements différents:
Env1 : Windows, NTFS, WAMP 2 sans APC (c'était pire avec!?)
Env2 : Server Mutualisé (Linux donc surement une sorte de LAMP)
Page d'accueil:
- Env1 : 2sec
- Env2 : 0.25sec
Page de recherche avec un gros Zend_Form:
- Env1 : 8sec
- Env2 : 0.7sec
J'en ai parlé avec Julien Pauli (certains savent qui c'est ;) ) avant de testé sur l'Env2 et il m'a dit :
"Windows?... NTFS?... cherche pas plus loin".
En effet j'ai été très surpris (en bien :D) de voir que sur le Env2 les résultats étaient plus que raisonnable!
Depuis que je bosse Ubuntu, je n'ai plus ces problèmes de perf! :king:
Conclusion: Windows ça pue :mouarf: (désolé pour le troll)