views:

407

answers:

2

I am playing around with Fiddler to gather stats on how long a ASP.NET page takes to load. In the Statistics tab, I see the Total Sequence Time

Does this number include ALL the following:
 1. Time over the wire
 2. Downloading JS files
 3. Running any JS scripts on load
 4. Making any database calls
 5. Running server side logic

Anything else that can be added/removed to the list above?

A: 

It will include the time till the last byte. Fidler does Network monitoring.

Since you dont access any databases etc on the browser that time is already included. The DL times for the JS files are also included, since they are send to the client. If you JS will load any additional files on a pageload, then this time will also be included, if ig does not fetch anything from the server, then that time wont be included.

Heiko Hatzfeld
This page runs javascript on load, it does DB calls on load as well. I do understand that the JS download times are included. But would it include running server side logic, client side logic, db calls etc?
No... Your JS does not do DB calls ;)You JS might call a Webservice, but i am willing to bet you do no db calls in JS... And the WS payload is measured
Heiko Hatzfeld
Well, does Fiddler only concern itself with JS? I was under the impression it takes into all the delays associated with loading a page in its "Total Sequence Time". I might be wrong though.
Fiddler acts as a proxy between you browser and the server. It is stupid, and is just measuring how long it takes to deliver the content... JS = CONTENT, a Webservice response = Content, a returncode from the server = content, an excel file you download = content
Heiko Hatzfeld
I guess it's safe to say that Fiddler can be used to calculate the Network speed. I use IE8 profiler for JS performance and will be switching on tracing on the page for the server side performance. Are these tools mutually exclusive? Is there one tool that clearly gives me - Hey it took x seconds for downloading JS files, it took y seconds to execute JS, z seconds in performing database calls etc??
Not really. Profilers don't always know what is a database call and what's not. For instance, you can call a web service from javascript using JSON that performs a database call. As a developer, you don't care how much time your javascript and/or database calls take, you just care that no method is taking too long to finish.
Jason N. Gaylord
@Jason - Ok, so what is a standard way for .NET developers to measure load time? What techniques are used in the industry? Thanks!
A: 

As mentioned already, Fiddler tracks the bytes traveled across the network and is really not meant for performance tests. If you're looking to do a performance test, the recommendation is to generate several unit tests that cover the functions of your web application and then use the performance tests built into Visual Studio (or utilize another testing framework) to stress test your application. That's the more accurate way to determine load.

If you are looking for load times for a page, turn tracing on to see from start to finish the load times. It will show each event in the stack.

HTH

Jason N. Gaylord
"is really not meant for performance tests" isn't accurate. See http://www.fiddler2.com/fiddler/perf/ for more information.
EricLaw -MSFT-
So Fiddler by itself isn't, but addons can do it.
Jason N. Gaylord