Temps d'exécution d'1 aspx : comment le calculer ?

cs_v1nce Messages postés 16 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 12 février 2008 - 4 août 2005 à 17:43
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 5 août 2005 à 11:27
Bonjour,

J'ai des problème de perf dans l'exécution de mes scripts aspx sans que je sache si cela vient des scripts ou d'un problème réseau.

Mon site est bâti sur un seul aspx qui accepte des paramètres et charge des ascx en fonction de ces paramètres (genre index.aspx?param1= x&param2=y...)

Certains ascx peuvent en charger d'autres récursivement

eg:
index.aspx est le résultat de
composite1.ascx
simple1.1.ascx
simple1.2.ascx
composite2.ascx
composite2.1.ascx
simple2.1.1.ascx
etc

J'ai essayé de calculer le temps de génération de la page en mettant un datetime au début du oninit et à la fin du pageload de index.aspx.

J'obtiens des perfs honorables (en tout cas <1s) alors que l'utilisateur doit attendre bien plus longtemps (30s) avant d'avoir réellement sa page.

Est-ce que mon horodatage est pertinent ( = est-ce que l'essentiel du temps de génération est bien entre ces 2 "événements") ?
Si non sur quel(s) événement(s) le positionner ?
Si oui d'où pourrait venir le délai de 30s ? (a priori pas du délai de transmission : les fichiers font généralement moins de 100k)
de la phase d'authentification ? d'un (dé)routage DNS ?

Merci de m'aider à déterminer qui doit bénéficier d'un stage de remise à niveau : le développeur ou l'admin réseau ?

3 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
5 août 2005 à 08:31
Hello,

Pour avoir un peu plus de précision, tu peut utiliser la fonction trace. Il suffit pour cela de mettre à l'intérieur de la balise <system.web> de ton web.config la balise suivante : <trace enabled="true" pageOutput="true"/>.

A ce moment, ta page va afficher en bas une liste de paramètres, dont les temps d'éxécution dans les différentes partie du serveur. Ca devrait te permettre de voir quelle partie prend le pls de temps, et s'il y a un moyen d'y remédier.

Pour plus d'information

Amicalement, SharpMao
0
cs_v1nce Messages postés 16 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 12 février 2008
5 août 2005 à 10:26
Clair, net, précis. Rien à (re)dire. Sauf Merci ! et "Encore un petit coup de main STP"

Informations de traçage
|
----

Catégorie |
Message |
À partir des premiers |
À partir des derniers |
----

aspx.page,
Begin Init,
,
,
----

aspx.page,
End Init,
0,000047,
0,000047,
----

aspx.page,
Begin PreRender,
16,472497,
16,472451,
----

aspx.page,
End PreRender,
16,472635,
0,000137

Quelqu'un aurait une idée de ce qu'il peut bien faire entre le init et le prerender (parce que 16 secondes c'est "une éternité") ?
Il va chercher les *.ascx enfants pour les parser et les transformer en "control" ?

PS: je ne fais rien de spécial dans le oninit (généré automatiquement par visual studio)
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 août 2005 à 11:27
a mon avis ton databinding doit prendre beaucoup de temps... vérifie que tu ne charges pas trop de lignes dans ton (tes) dataset


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
0
Rejoignez-nous