Yaakov Ellis Yaakov Ellis -4 years ago 83
ASP.NET (C#) Question

Measuring Web Page Performance on Client vs. Server

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?

Answer Source

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.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download