views:

95

answers:

3

I am working with a web page (ASP.net 3.5) that is very complicated and in certain circumstances has major performance issues. It uses Ajax (through the Telerik AjaxManager) for most of its functionality.

I would like to be able to measure in some way the amounts of time for the following, for each request:

  1. On client submitting request to server
  2. Client-to-Server
  3. On server initializing request
  4. On server processing request
  5. Server-to-Client
  6. Client rendering, JavaScript processing

I have monitored the database traffic and cannot find any obvious culprit. On the other hand, I have a suspicion that some of the Ajax interactions are causing performance issues. However, until I have a way to track the times involved, make a baseline measurement, and measure performance as I tweak, it will be hard to work on the issue.

So what is the best way to measure all of these? Is there one tool that can do it? Combination of FireBug and logging inserted into different places in the page life-cycle?

A: 

Check out IEInspector's HTTPAnalyser. I have found this invaluable for checking http activity.

Andrew
+1  A: 

The Net tab of the FireBug Addon for FireFox provides info on timing for all of the client-side activities.

Server-side logging is needed for record the amount of time spent on server-side activities: Use the BeginRequest and EndRequest events in Global.asax to record the overall start and stop times of requests, and log in the code behind to record timing of the actual page.

Yaakov Ellis
A: 

There is a HTTP monitor tool that could help you called HttpWatch. The basic edition is free.

I did performance analysis for web applications with it and it shows what is client delay/server delay/network delay. I just love it :)

Danny T.