We use IIS servers and would like to know if there is a performance counter or something else which could help us determine how long it's taking to serve web pages (average, actual, whatever)? From the time the page is requested, to the time it has been sent out, how long was it? Is there anything in IIS which can give me this information?
Try using Fiddler - (http://www.fiddler2.com/fiddler2/). You can then Select a set of items to see how long it took to request and get all those specific resources.
This information is in the IIS log in the "Time-Taken" column for each incoming request. It includes the time from when it starts processing the page until it has finished sending the page over the wire, but does not include the time it takes to transmit the file or time the request spent in the queue before it was processed (if applicable).
The default location for this log file is: C:\WINDOWS\system32\LogFiles\W3SVC1
You can also do it with Performance Monitor.
Here is are the ASP.NET the counters and their meanings
Here is one for IIS.
Some that will be especially relevant to your concerns are:
- Requests Queued
- Requests/Sec
- Requests Executing
You can see it in your IIS logs, however you have to enable the option.
In IIS 6 do the following:
- Right-click your website and choose properties
- Go to the Website tab
- Click Properties in the Enable Logging section
- Click the Extended Properties tab
- Check Extended properties
- Check Time Taken
- click OK and close everything
- do an iisreset
This value will now start appearing in your IIS logs.