views:

308

answers:

4

Hi, I want to find out the reason for slow performance of some web pages of an ASP.NET intranet website. the reasons could be many like large view state, number of round trips to the server and database, inefficient code in UI/middle tier etc. most of these slow pages are complex web pages with some third party controls, user controls.

what is the quickest way to find out what is causing the page to slow down without debugging each and every interaction on the web page and stepping through lines of code. will the code profilers like ANTS be of any help? or are there any better ways? there could be many factors for slow performance of a page, but I want to fix them in priority order.

thanks, Rama

+1  A: 

You can use a firefox addon named yslow whcih analyzes web pages based on Yahoo's performance rules.

If you want to check code performance then you can use a profiling tool.

For SQL there is SQL Server Profiler.

For .Net you can use ANTS Performance Profiler

rahul
Considering that we are talking about an *intranet* application, I would not expect performance problems to be of the kind detectable by YSlow. While it is possible the YSlow will do the trick, I think that some kind of application profiling is more likely to reveal the culprit.
Jørn Schou-Rode
Oh, I see you have added more on the application profiler angle. Care to add more detail on how ANTS is used in a production environment? :)
Jørn Schou-Rode
thanks for quick reply, but this is an intranet website and IE8 is the only available browser. will this add-on work for IE?
RKP
A: 

Use Fiddler or HTTPWatch to profile the web application, this works with IE too..

And

I just came across a interesting post by john resig - deep tracing IE about the new client side profiler tool for IE. It is awsome & Its free.

You can get it here

Cheers

Ramesh Vel

Ramesh Vel
although this may work, it won't go into the detail of offending lines of code. I think using a code profiler may help me more than these tools. thanks for all the replies anyway.
RKP
A: 

Try FastSQLDataSource. It helps when you need faster display of large amounts of data in your web application using grids, lists and other bound controls. http://www.nitrosbase.net It can work almost without coding or sometimes with no coding at all.

A: 

Some addtions:

  • Search for unproper Exception handling / throwing etc.
  • Search for left debugging code - one System.Diagnostics.Debug.WriteIf in a large loop or dataset is devastating
  • search for multiple databinding - broken page life cycle
  • search for code smell - the shit smells before hitting the fan ...
YordanGeorgiev