Thanks for the response Deepak, but I will respectfully disagree with the
assertion that states that it's not possible or worthwhile to try to
replicate concurrent resource fetching.

Of course each browser has differences, even different numbers of concurrent
downloads, but JMeter is already attempting to emulate this in the
HttpSampler with a concurrent download option. 

It would be easy to resolve the issue just by adding a set of URLs to the
HttpSampler which are statically defined embedded resources (those it
doesn't parse out we can just add ourselves), and have it download those
using its X number of concurrent connections feature.

I wouldn't try to solve the problem by improving how JMeter parses the
resources out. Although it's always nice to improve that feature, JMeter can
never be 100% for all applications. I have worked for 9 years as a
consultant for HP's LoadRunner and BAC testing tools and will tell you even
those million dollar testing packages can't parse all the resources from an
HTML page (though they add static resources to a DL list automatically of
course). 

Everything we do is going to be an approximation of reality, it's up to each
application engineer to know their app and to do the best they can to
approximate it. But having the ability to make a reasonable approximation is
critical - and this is fundamental functionality used by all browsers in
virtually every real-world scenario. 

To download each unparsed resource of a page in sequence makes it extremely
difficult to built a semi-realistic test case, and the further we get from
realistic the less valuable a tool like this becomes. If there's no way to
do this I, for one, am sure to put JMeter on the shelf and consider other
options. But I'll be very surprised if this issue hasn't been discussed at
infinitum already.



-----Original Message-----
From: Deepak Shetty [mailto:shet...@gmail.com] 
Sent: Sunday, October 09, 2011 10:30 AM
To: JMeter Users List
Subject: Re: Emulating a browsers resource download patterns

>From the release note for 2.5.1
>Additional known bugs: Version 2.5 introduced a concurrent download
>feature for embedded HTML resources. Unfortunately this may result in
>corrupted downloads or other errors (bugs 51918[1] and 51919[2]). We
>will fix these bugs as soon as possible; meanwhile the feature should
>not be used.

> But the HTTP Request Sampler only parses out about 1/5th of the resources
on the page,
There are some circumstances in which this is possible(other than bugs!) .
e.g. Background Images referred to in CSS files (Jmeter will download
resources for a page , but not resources within the resources like CSS files
which refer to images). Dynamically added resources (from AJAX calls or
javascript) wont work either - As always JMeter is not a browser. You might
need to put in a feature request in bugzilla if you can identify patterns
within your page that the embedded resource parser isnt picking up.

The problem with the type of results you want actually depend on multiple
questions -
Which browser? Which setting on the browser? (e.g. IE which controls how
resources are cached)? When is a page considered loaded - especially when
you account for DHTML rich/AJAX applications?
And is it worth it (for e.g. if you use a CDN it probably isnt).
And if you still really want to know its probably to use browser driven
tools like selenium (or selenium grid) to find out the answer - or selenium
+ jmeter where jmeter generates the load you want and a single selenium
instance can browse the site and record page times ).

Using JMeter would need you to estimate this answer (for e.g. if you get
values for each individual resources then using firebug and the network tab
you can figure out the time for page load).

regards
deepak

On Sun, Oct 9, 2011 at 9:34 AM, David Parks <davidpark...@yahoo.com> wrote:

> A browser typically opens about 4 connections to download all of the
> resources of a page. I'd naturally like to emulate this behavior in my
test
> cases.
>
> I see that the HTTP Request Sampler has an option to do exactly this with
> the parsed "Embedded Resources".
>
> But the HTTP Request Sampler only parses out about 1/5th of the resources
> on
> the page, instead I just record the page and all its resources with a
> Recording Controller.
>
> But now each resource is an HTTP Sampler its self and I have no way of
> emulating the 4 concurrent downloads, they download in sequence.
>
> Thus I don't see how to even come close to accurately simulating browser
> load, and certainly don't see a way to accurately time a page download.
>
> Perhaps I missed something? But I didn't see this question addressed in
the
> docs or FAQ's.
>
> Thanks,
> Dave
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscr...@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-h...@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-user-h...@jakarta.apache.org

Reply via email to