| Performance de la 0.8 rc2 ? | |
| Auteur | Sujet |
|---|---|
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
Salut,
je suis en train de tester la 0.8 rc2 avec un module entièrement réécrit pour elle perso en utilisant les méchanismes de cache et toutes les subtilités que j'ai pu trouver dans les modules officiels. Mon "ancien" site est en 0.7x et j'avais obtenu des temps de rendu acceptables du genre 0.1 ou 0.2 sec par page (c'est un exemple) et pour le même genre de page et toutes les options de cache possible (pnrender + xanthia), je n'obtiens, sur le même serveur, que péniblement 0.5 à 0.6 sec de temps de rendu (avec cache). Est-ce que d'autres personnes ont observé un problème de perf avec la 0.8 ? Parce que cela m'ennuyait vraiment d'avoir passer trois mois à tout réécrire pour au final avoir un site plus lent qu'avant. Y a t 'il des "tips" pour optimiser les temps ? Merci "Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 20.12.2007, 21:37 | |
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
J'aurais une autre question dans le même genre, y a t'il vraiment une différence de perf entre php 5 et php 4 ? (mon serveur est actuellement en php 4 mais je peux le passer en 5)
Merci "Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 21.12.2007, 11:48 | |
|
Gilles Grand Maître enregistré depuis : jui. 2005 Messages : 2117 |
Hello,
Afin de tenter d'avantage de cibler le problème, y'a-t-il eu des modifications au niveau du serveur ? Quels sont les versions de php / mysql, serveur web ? Le problème s'applique-t-il sur tout le site ou juste sur le module en question ? Quelle est le système d'accès à la base de donnée (DBUtil, mysql "simple", autre) ? Quel est le type de base de donnée (mysql, pgsql, ...) ? Utilises-tu pnRender ? Le cache ne fait pas tout sur un serveur web, une grande partie de la rapidité d'un site vient des requêtes, de la construction. Concernant les performances de php, PostNuke 0.8 à été développé pour php 5 et, est donc optimisé pour : Il ne peut pas, normalement être installé sur un php < 5.1.2 ++ Gilles ><>° |
| 21.12.2007, 12:09 | |
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
C'est dommage, mon serveur mutualisé me dit que je suis en php 4. Mais bon, ce n'est pas vraiment le problème pour l'instant, je pensais que mon site local n'était pas représentatif et j'ai donc envoyé mon site sur le serveur final pour voir mais j'ai le même genre de problème qu'en local.
En local , je suis avec easyphp 2.0 donc en : MySQL client version: 5.0.22 PHP Version 5.2.0 Comme j'ai redeveloppé complètement mon module, je me suis basé sur pnrender + xanthia + DBUtils. j'ai mis en place les astuces de cache décrits sur le forum pour pnforum. je n'utilise (pour l'instant) pas d'autre module que le mien, donc c'est bien ma façon de faire qui pose problème. J'ai essayé d'utiliser toutes les astuces que j'ai pu trouver dans les modules pour me faciliter la tâche de programmation mais j'ai l'impression que j'ai perdu en réactivité, on programme vite mais pour un résultat décevant en terme de perf. Je me trompe peut être (j'espère) mais est-ce que quelqu'un a déjà fait des comparaisons entre la version 0.7 et 0.8 ? Merci "Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 21.12.2007, 13:06 | |
|
Makeu Bisu enregistré depuis : oct. 2005 Messages : 80 dernière visite: 29.04.08 |
Pour ton serveur mutualisé, tu peux peu être basculer la version de ton php via le htaccess, chez ovh par exemple c'est la commande
Code: [Télécharger] [Cacher]
Sinon dans les options du xanthia et pnrender, tu as décoché les options "Vérification de la compilation", "Forcer la compilation", "Forcer la recompilation des modèles" et "Vérifier si une version mise à jour des modèles existe". Pour ma part, je n'ai pas noté de baisse de performance, mais comme tu le soulignes la tâche de programmation est simplifée et complète ! J'utilise pas mal l'ajax pour faire de la pagination par exemple... cela accélère l'affichage car tu recharges qu'une partie de ta page, penses à utiliser l'ajax car c'est aussi l'une des grandes forces de cette 0.8 ! |
| 22.12.2007, 15:33 | |
|
mumuri enregistré depuis : oct. 2005 Messages : 577 dernière visite: 11.05.08 |
rapport à çà
est ce que pnTemp/Xanthia_Config/ contient des fichiers ? si non c'est que ton template n'est pas en cache est ce que tu as été voir dans le fichier config.php, il y plusieurs possibilités de configurations liés au systéme de log. en gros, le cms te propose de configurer ton systéme en mode "prod" ou "dev" Code: [Télécharger] [Cacher]
si tu veux faire le bourrin doit y avoir moyen de mettre Code: [Télécharger] [Cacher]
si tu veux etre plus propre (plus haut dans le fichier) Code: [Télécharger] [Cacher]
modifié par : mumuri, 02 Jan 2008 - 13:28 |
| 02.01.2008, 13:26 | |
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
Merci pour les conseils. J'avais trouvé plus ou moins tous les paramètres d'optimisation mais je suis encore moyennement satisfait par les résultats. Je vais essayer de faire du profiling avex xdebug pour voir ...
Merci "Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 06.01.2008, 15:17 | |
|
mumuri enregistré depuis : oct. 2005 Messages : 577 dernière visite: 11.05.08 |
ok si tu as des pistes je suis preneur
|
| 07.01.2008, 13:30 | |
|
mumuri enregistré depuis : oct. 2005 Messages : 577 dernière visite: 11.05.08 |
bon a priori j'ai les même problème de performance
- remarque : que l'on soit en mode développement ou production, on a des entrées de log pour tous les "anciens" modules qui utilisent les anciennes fonctions une entrée par appel
je regarde plus en profondeur, il doit y avoir autre chose modifié par : mumuri, 03 Fév 2008 - 20:55 |
| 03.02.2008, 20:54 | |
|
Gilles Grand Maître enregistré depuis : jui. 2005 Messages : 2117 |
Il faut virer les logs... c'est la seule solution dans ce cas... aller voir dans settings-> journaux ou logs... et tu peux les désactiver !
++ Gilles ><>° |
| 03.02.2008, 22:21 | |
|
mumuri enregistré depuis : oct. 2005 Messages : 577 dernière visite: 11.05.08 |
ok merci
apparemment y'a toujours l'option qui permet de générer une version "en cache" de son thème dans pnTemp/Xanthia_Config, par contre j'ai pas trouvé ou elle était modifié par : mumuri, 04 Fév 2008 - 00:07 |
| 04.02.2008, 00:07 | |
|
mumuri enregistré depuis : oct. 2005 Messages : 577 dernière visite: 11.05.08 |
par ailleur quelle sont les différences majeures entre la RC1 et 2 (car il me semble que les ralentissements étaient moin flagrant)
|
| 04.02.2008, 09:08 | |
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
Exactement, je ne sais pas, cela doit toucher 3 tonnes de fichiers mais lesquels "pèsent" plus lourd ??
Sinon, pour l'optimisation des blocs, il y a des champs dans la définition d'un bloc que j'ai cherché dans tous les .php mais je n'ai trouvé aucune utilisation dans aucun .php (.8), ce sont les champs form_content et form_refresh. Je pense que cela serait pas mal d'avoir une gestion fine du temps de mise en cache bloc par bloc plutôt que globale au site. "Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 04.02.2008, 11:03 | |
|
mumuri enregistré depuis : oct. 2005 Messages : 577 dernière visite: 11.05.08 |
a la limite avec windiff c'est jouable (winmerge pour ceux qui connaissent pas sous windows)
a premiére vue .. en vrac , sur une comparaison de la RC1 et 2 à chaque chargement de page dans pnInit ... purge des logs LogUtil::_cleanLogFiles(); Code: [Télécharger] [Cacher]
cette méthode ne vérifie pas que si les logs sont activés dans le fichier de config général il faudrait peut être mettre un Code: [Télécharger] [Cacher]
dans la méthode (aprés $PNConfig) Pour le reste mise à part la mise en place des logs, je ne vois pas grand chose |
| 04.02.2008, 22:52 | |
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
Cela n'a pas non plus d'être un gouffre cette fonction, une boucle pour tester la date de fichiers ?!?
Pour les diffs, je suis habitué à kdiff3 même sous xp. "Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 04.02.2008, 23:07 | |
|
mumuri enregistré depuis : oct. 2005 Messages : 577 dernière visite: 11.05.08 |
une boucle qui purge/efface plusieurs méga de logs (si il y en a )
disons que plus généralement, je connais log4j (l'équivalent de logutils pour java), et ils se trouvent qu'il y a des choses comme çà qui traine
http://gfx.developpez.com/tutoriel/java/log4j/ ce qui fait que je me demande si même si ces traitements ne sont pas trop lourd, comme ils sont réalisé un grand nombre de fois, il vaut peut être mieux les éviter au maximum modifié par : mumuri, 04 Fév 2008 - 23:24 |
| 04.02.2008, 23:13 | |
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
Hmm, java et performance ... :) Mais bon, ce sont les petits ruisseaux qui font les grandes rivières ...
"Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 05.02.2008, 06:53 | |
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
Tiens , je viens de trouver comment modifier le temps de mise en cache bloc par bloc (en tout cas pour les bloc "persos"). Dans mon, j'ai des blocs qui peuvent prendre pas mal de temps et le temps de mise en cache global, je ne trouvais cela pas terrible. En fait, on peut récupérer le paramètre "refresh" du bloc et le "coller" dans le pnrender. Dans mes "blocs" cela ressemble à cela ...
Code: [Télécharger] [Cacher]
"Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 05.02.2008, 14:58 | |
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
Des nouvelles du front ... (le mien car je transpire à force de chercher ce qui rame chez moi)
Après un réessai de xdebug (parce que vraiment cela rame trop), j'ai quand même trouvé des choses intéressantes, je ne sais pas encore quoi en faire mais il y a un certain nombre de fonctions qui sont appellées un très grand nombre de fois et que je m'empresserai de modifier si j'étais en C ou en C++. Par exemple, j'ai la fonction pnModUrl qui est appelée 930 fois sur ma page (en fait, je viens de m'apercevoir que c'est le "pager" de pnRender qui produit la plupart de ces appels), les fonctions pnModGetInfo et pnModGetIDFromName 1340 fois et la gagnante est pnErrorHandler avec 6287 appels. Il y a certainement des erreurs dans mon code mais quand je regarde des fonctions de base comme pnModGetIDFromName, je vois qu' il n'y a aucun traitement particulier pour prendre en compte le caractère très répétitif de cette fonction (exemple, un bon gros tableau associatif). Par contre, je ne sais pas si c'est possibe pour des problèmes de sécurité ou de mise en cache ou autres ... modifié par : xbee, 08 Fév 2008 - 21:03 "Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 08.02.2008, 19:10 | |
|
Gilles Grand Maître enregistré depuis : jui. 2005 Messages : 2117 |
Tu veux dire qu'en ouvrant 1 page, on a plus de 8500 fonctions appelées ? Ou c'est après une période d'utilisation "t" avec "y" utilisateurs ?
Gilles ><>° |
| 08.02.2008, 22:36 | |
|
xbee Bisu enregistré depuis : mai. 2007 Messages : 67 dernière visite: 05.04.08 |
Oui, sur une seule page. Bon, il peut y avoir des bugs dans mon code, j'en ai trouvé pas mal en regardant les logs d'erreur mais cela ne m'etonne pas trop, il n'y pratiquement pas de méthode de "cache" dans les fonctions de base, c'est-à-dire que tu poses 100 fois la même question à une fonction, tu auras 100 fois le déroulement complet de celle-ci qui peut etre court ... ou pas.
Bon, le but de la 0.8 n'est pas l'optimisation mais la fourniture d'une nouvelle API sécurisée mais je pense qu'il y a une réserve de perf en perspective ... "Power corrupts. PowerPoint corrupts absolutely." My personnal (french) Websites: http://www.xbee.net (0.8) and http://fczone.xbee.net (0.764) |
| 09.02.2008, 18:16 | |
|
Gilles Grand Maître enregistré depuis : jui. 2005 Messages : 2117 |
Si tu trouves des problèmes de ce genre, n'hésite pas à les faire remonter à l'équipe de dev (par le noc) et même mieux, si tu trouves des façons de faire pour optimiser la chose et passer de 6287 à 1000 ou même moins gagnant pleins de temps, tes contributions seront les bienvenues !
++ Gilles ><>° |
| 09.02.2008, 21:54 | |
Généré par pnForum Version 2.6
CA_Aphrodite design by Vjacheslav Trushkin - phpBBStyles.com
Ported to PostNuke pnForum by Chestnut - http://dev.pnconcept.com
CA_Aphrodite design by Vjacheslav Trushkin - phpBBStyles.com
Ported to PostNuke pnForum by Chestnut - http://dev.pnconcept.com




