Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjours a tous,
Voila un petit temps que j'ai commencer ma première api en Zend qui commence a être assez complète. Je suis encor en local seulement le temps de chargement est assez long si le cache est vide. Cela vient il de mon code? Si oui qu'elle partie de traitement est le plus sucepetible d'être mal coder et de provoquer un traitement long?
Hors ligne
il y en a plusieurs, déjà il y a la partie base de données. Ensuite cela peut venir des différents traitements que tu effectue. C'est difficile à dire car tout dépend de ce que l'on utilise, de la techno serveur, ...
As tu APC d'installé sur ton serveur? Si non, installe le, tu verra une nette différence.
Hors ligne
APC c'est quoi? Je suis en php 5.2/ apache server / phpmyadmin/ mysql(mysqli pour la connection)
Hors ligne
http://www.throrinstudio.com/blog/index … article/54
et je pense qu'un site web utilisant un framework est toujours plus lent qu'un simple site web.
Dernière modification par lassoya (03-08-2010 12:26:55)
Hors ligne
sympa d'envoyer mon site pour présenter . C'est bien vrai que du php de base (fonctionnel) ira plus vite que des frameworks. Mais on arrive à palier le coche avec des caches PHP, ...
Hors ligne
Si ton environnement local est Windows, cela peut être une source de lenteur supplémentaire. Essaye de trouver les goulots d'étranglement provoquant les lenteurs en benchant tes fonctionnalités
Typiquement
- mauvaise conception de la BdD (index non et/ou mal placés)
- requêtes mal construites
- traitement trop lourd (optimisation du code possible ??)
Hors ligne
Pas expérience, si ton projet est sous windows, sur disque dur NTFS, tu peux avoir des traitements assez long.
Je me rappel d'un zend_form assez complexe que j'avais fait :7 sec de rendu pour windows/ntfs, puis sur un petit mutualisé sous linux, 0.8sec. A méditer.
APC = Cache PHP Alternatif. Fortement conseillé dès qu'on utilise le ZF
http://php.net/manual/fr/book.apc.php
Hors ligne
bon je redéterre le sujet juste pour savoir si quelqu'un aurait des soluces pour savoir combien de temps met chaque partie, car en effet j'ai environ 5 -6 secondes de chargement du visuel, mais après avoir tout chargé (visuellement, le chargement se poursuit pendant encor 10-20 secondes! sans que je sache ce qui ce charge....)
Hors ligne
Déjà avec des inspecteurs de browsers, n'as tu pas des 404 ou des liens erronées ? Pour avoir des chargements aussi long, il est probable que t'ai des "gros" soucis qui devrait être flagrant, surtout si c'est pendant le rendu.
Hors ligne
gros soucis ba non, l'application focntionne parfaitement, ce n'est pas au niveau du rendu, j'ai un peut de chargement avant le rendu (expliqué surement par le systeme xwindows) mais c'est après, lorsque la page est visuelement chargé (comme si tout est cahrgé) mais en haut dans l'onglet on voit que le chargement de la page poursuit, et même lorsqu'on affiche la source dès que visuelement c'est chargé, on doit attendre la fin total du chargement. Je ne comprend pas j'ai essayer de supprimmer des passages mais rien n'y fait.
L'ordre du passage du code est bien index.php/bootstrap/layout/controller/vue ????
Hors ligne
j'avance sur mon enquête ayant des problèmes d'encodage, j'avai mis le code suivant (soit dit en passant ne change rien à mon problème) le code suivant
$db->query("SET NAMES 'utf8'"); $db->query('SET CHARACTER SET utf8'); Zend_Db_Table_Abstract::setDefaultAdapter($db); $adapter=Zend_Db_Table_Abstract::getDefaultAdapter(); $res=$adapter->getConnection(); mysqli_set_charset($res,"utf8"); $test=mysqli_character_set_name($res);
dans index.php.
Comme le code doit y passer à chaque chargement, le code de cha,gement de caractères en BD doit s'éexecuter à chaque fois à mon avis. Quelqu'un aurait il une solution?
Hors ligne
aucun js !
Hors ligne
Dans ce cas il ne te reste plus qu'à regader quels sont les fichiers qui sont très long à arriver.
Si tu utilises firefox, regarde ce que t'indiques l'onglet "Réseau" de firebug. Ca te diras quels fichiers mettent beaucoup de temps à être chargé.
Avec safari, tu as la même chose dans l'onglet "Ressources" de l'inspecteur web (menu "développement" à activer dans les options avancés si ce menu n'apparait pas)
Avec chrome, c'est l'onglet "Ressources" des "outils de développement" (menu "option pour les développeurs")
Pour opera et IE, j'ignore comment avoir ce genre d'information.
Dernière modification par omega2 (08-09-2010 16:44:03)
Hors ligne
Opera possède Opera dragonfly, similaire aux autres outils webkit et firebug.
Une fois dans ses outils cherche une vue qui ressemble à ça : http://2.bp.blogspot.com/_hO_h907Dgds/S … tor_02.PNG
Tu devrais vite trouver ce qui fait ramer.
Au fait pour ton code UTF8, pas besoin avec le zf, normalement depuis je sais plus quel version ca le fait automatiquement, et non il n'y a pas trop moyen de faire différemment. Au moins ca permet de tester que ta connexion est ok
Hors ligne
merci pour ton aide bon et bien je pense que ca doit être ok je verrais sur hébergeur ainsi que pour le cache php après, soit dit en passant ton astuce ma montré que fire fox met 1 seconde environ de plus que chrome et opera, d'après les time line de chrome ce sont le premier request sur public et les images qui mettent le plus de temps à charger, je vais voire aussi pour optimiser de ce côté la.
Pour ce qui est de l'encodage, j'ai tout essayé pour pouvoir encodé le tout en utf8 mais lorsque j'insère des accents dans la BD alors lors de la récupération j'ai je suis obligé de faire décode ou encode. Je soupçonne fortement qu'il y est un problème de mes décorateur personnalisé, pourtant il sont bien encodé en utf8 ce que je ne comprend pas car lorsque j'utilise les décorateurs par défaut les accents fonctionnes.....
Hors ligne
la bdd, utf-8 ou non ressors toujours les résultats en Latin, voilà pourquoi tu as des bugs d'encodage. Un set names utf-8 dans les options de Zend_Db règlent le souci.
Pour voir le temps total de chargement sous firefox je te conseille yslow (extension de firebug). Ce plugin tez donne le chargement de ta page et quels sont les points à améliorer (côté html)
Hors ligne
Bon après m'être apercu que mon installation php/apache/phpmyadmin était bordélique j'ai décidé de tout réinstallé. Et la (après bien sur 2 jours de galère) au grande surprise les temps de chargements ont tous était réduit passant pour certaine parge d'un chargement pendant 10 sec à 1 ou 2 seconde.... allez comprendre!
Voulant tout de même créé un cache apc comme vous me l'avez conseillez j'ai donc installé l'extension dans le php.ini et la dll dans le dossier d'ext de php. Mais rien n'apparait dans mon phpinfo(); D'autre part j'ai regardé un peut d'exemple de a quoi cela servait mais je n'est pas vraiment compris ce que l'on stocké dans ce cache? est ce la librairy zend? les fichiers de configs?
Hors ligne