Comment détecter les problèmes de performances avec le rendu des pages ?
-
08-06-2019 - |
Question
j'ai été chargé de améliorer les performances d'une application ASP.NET 2.0.
La page sur laquelle je me concentre actuellement présente de nombreux problèmes, mais celui que j'ai du mal à approfondir est le temps de rendu de la page.En utilisant Trace.axd, la durée entre le début du rendu et la fin du rendu est de 1,4 seconde.Depuis MSDN, je vois ça
Tous les contrôles de serveur Web ASP.NET ont une méthode de rendu qui écrit le balisage du contrôle qui est envoyé au navigateur.
Si j'avais le code source de tous les contrôles de la page, je les instrumenterais simplement pour retracer leur temps de rendu.Malheureusement, cette page particulière comporte de nombreux contrôles, pour la plupart tiers.Existe-t-il un outil ou une technique pour obtenir une meilleure visibilité sur ce qui se passe pendant le rendu ?J'aimerais savoir s'il existe un contrôle particulièrement peu performant, ou s'il y a tout simplement trop de contrôles sur la page.
La solution
Téléchargez ANTS PROFILER, cela vous donnera un aperçu parfait des lignes à l'origine du ralentissement.
De plus, lorsqu'il s'agit de rendu, assurez-vous de ne pas utiliser trop de concats de chaînes (comme string += "value") mais utilisez StringBuilders pour améliorer les performances.
Autres conseils
<%@Page Trace="true" %>
Voir http://www.asp101.com/articles/robert/tracing/default.asp.
Cela peut ne pas aider si le problème se situe à l'intérieur de l'un de vos contrôles - comme vous vous en doutez - mais si la page est mal conçue et que cela ralentit le rendu, YSlent devrait aider à nettoyer ça.