Lenteur d'affichage

cs_dawinch Messages postés 27 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 3 janvier 2008 - 12 juil. 2007 à 16:42
cs_dawinch Messages postés 27 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 3 janvier 2008 - 25 juil. 2007 à 15:19
Bonjour,

je suis en train de développer une appli de gestion en intranet.
Faisant confiance aux ToolKit et Ajax.net, j'ai décidé de faire l'appli dans une seule page (je me suis un peu emballé ).
J'utilise donc le contrôle TabContainer du Toolkit : j'ai une quinzaine d'onglets; chaque TabPanel contient un UpdatePanel qui contient les données à afficher (des gridviews, formviews, dataRepeaters en pagaille ...) .

Tout marche bien sauf que :
plus on utilise l'appli (sélection, ajout de données, tri des gridviews, recherche...) dans le temps, plus elle "rame";
jusqu'à plus de 5 secondes pour afficher de simples données dans un formview.

J'ai bien tenté (un peu au hasard) des "EnableViewState=false" dans certains UpdatePanels mais ça semble toujours aussi long.

Alors, avant que je revienne au web 1.5 (un onglet = une page), est je loupé quelquechose ?

Je n'ai pas réussi à cerner d'où pourrait venir cette lenteur. Le ViewState qui ne se "réinitialise" pas ?

Au fur à mesure de l'utilisation,  ASP.NET rajoute dans le <head> de la page des scripts liés aux composants de l'UpdatePanel utilisé. Et il semble que ce ces scripts "s'empilent"  au fur et à mesure,  même lorqu'ils ne sont plus utiles.

J'ai l'impression qu'avec les postback et viewstate, l'utilisation d'Ajax est moins facile à gérer avec ASP.NET.

Quelqu'un aurait il une piste ? (sinon je vais tout refaire en PHP / Jquery )

Merci d'avance

7 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
12 juil. 2007 à 17:58
c'est l'inconvénient de .NET : c'est lent & lourd ... plus ton appli est grande, plus ca rame !
_______________________________________________________________________
VB.NETis good ...VB6is better
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 juil. 2007 à 18:31
ghuysmans99 >> joli troll ....

Bref je répondrais plutot que l'avantage de .net c'est qu'on a pas besoin de connaitre le fonctionnement exact de tous les composants pour produire quelque chose et que tout est caché, alors qu'en php on fait tout à la main :p
Ce qui a pour inconvénient de produire des choses lourds car les "developpeurs" ne savent pas exactement ce qu'ils font derriere.

Bref, au lieu de désactiver des viewstate par hasard regarde plutot ce qui prend du temps ? est-ce coté client ou coté serveur (tu peux le voir via fiddler) si c'est coté serveur est-ce ASP.net ou SQL (tu peux le voir avec sql profiler).

A partir de là tu sauras où il faut optimiser et quoi ! car là en désactivant des viewstate par hasard tu lances des coups d'épées dans l'eau :p

PS : oui les toolkits sont supra lourd et bien merdique mais super simple à utiliser

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
12 juil. 2007 à 19:25
d'accord avec toi, [auteurdetail.aspx?ID=19303 jesusonline]

_______________________________________________________________________
VB.NETis good ...VB6is better
0
cs_dawinch Messages postés 27 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 3 janvier 2008
12 juil. 2007 à 20:01
pour asp.net je suis d'accord pour la facilité d'utilisation des composants, par contre je trouve que dès qu'on veut les utiliser d'une manière un peu spécifique qui sort de leurs utilisation "normale", ça se complique vite.

Pour ce qui est de mon code, c'est côté client que vient le problème puisque lorsque je démarre l'appli ça marche bien.

En gros, je vais sur la page du site : elle est longue à charger, normal, elle est très lourde.
Puis je fais mes tests : affichage, insertion, tris, modification de données : tout s'affiche très vite , normal, toutes les données différentes sont dans un updatepanel différent.
Puis, plus j'insère, modifie, affiche ...., plus l'affichage devient lent au point de devenir "inutilisable".
J'ai remarqué que, en gros l'utilisation mémoire de IE "suivait" linéairement la  lenteur du site.
Firefox s'en tire mieux, mais devient quand même très lent.

Personnellement, je soupçonne asp.net d'accumuler des javascripts et viewstates inutiles. Il faut que j'analyse mieux avec WebDev Helper ou FireBug.
Je ne sais pas si ça vient du TabContainer ou des UpdatePanels .
Quelqu'un a-t-il déjà fait un site avec un beaucoup d'UpdatePanels (j'en ai 22) ?

Que ça charge la page avec beaucoup de javascripts au premier chargement : OK;  par contre ensuite ça ne devrait pas beaucoup changer.
Dans ces UpdatePanels j'utilise beaucoup de composants Asp et AjaxToolkit et j'ai l'impression que le javascript associé à ces composants est écrit à chaque rafraichissement d'un UpdatePanel dans le Head de la page. Donc normal ça s'accumule. L'updatepanel devrait écrire ce code à "l'intérieur' de son ContentTemplate...
Enfin ce n'est qu'une supputation....
Je vais essayer d'approfondir le truc...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 juil. 2007 à 20:16
Regarde déjà avec Fiddler si le problème vient bien du client ou si le cela vient du serveur, fiddler (voir meme firebug) te permettra d'analyser le temps de réponse de ton serveur. Tu peux aussi activer les traces d'asp.net tu verras de facons encore plus précises les temps de réponses. 

A partir de là on pourra réfléchir.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
0
cs_dawinch Messages postés 27 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 3 janvier 2008
12 juil. 2007 à 21:41
ok merci je vais faire ça et je te tiens au courant....
pour mon post précedent je parlais d'une page avec beaucoup d'updatePanels....
0
cs_dawinch Messages postés 27 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 3 janvier 2008
25 juil. 2007 à 15:19
Cyril : désolé d'avoir zappé le sujet mais vu que j'étais "très à la bourre", j'ai tout repassé en plusieurs pages (1 onglet = une page).
De toute façon les utilisateurs ne remarquent pas vraiment la différence.
J'ai bien sûr gardé la page avec les TabPanels et je ferai des tests quand j'aurai le temps.
Merci quand même.
0
Rejoignez-nous