hi
The thing you should check from YSlow/tamper data is if you added up
individual times for each resource downloaded , it should match the Jmeter
time.
>I'm thinking of a requirement like: "all pages should load within 7 seconds
for 100 concurrent users."
Speaking practically , such a requirement is hard to verify. There are just
too many factors. What machine is the user using, which browser version,
what cache setting, where is the user located. To give you an example in my
current project (before we gzip responses and minified CSS/JS) concurrent
usage gave a 4 second response time if the user was based in california and
a 20 second response time if the user was based in New York.

This is my rule of thumb , I rarely have embedded resources checked for my
tests.
That gives me the pure server speeds. This is the minimum time the browser
will take(if this is close to for e.g. in your case 7 seconds then it most
likely will fail your requirement). Images /CSS/JS downloads are hard to
predict , but if you know that your app rates pretty highly on YSLow (or
static files served from a webserver, minified, gzipped, minimal number of
requests, with correctly cached headers), you can more or less take these
out of the equation and add a fixed time to your request + add some network
latency(and verify from multiple physical locations) + some browser render
time .

If you really, really still want to verify it , then run a constant load
using Jmeter (but dont use response times from here). Concurrently run
something like selenium/QTP which drive the browser and take the response
times from there.

regards
deepak


On Mon, Oct 19, 2009 at 11:37 PM, Alexandru Rotaru <[email protected]>wrote:

> Hi Deepak,
>
> If I compare the times from YSlow and the ones from JMeter, the differences
> are still high (YSlow < JMeter).
> I understand that the browser uses more threads to load a page, and thus
> the load time is shorter.
> Having this in mind, is there a way to benchmark the server response time
> for a specific number of users using JMeter?
>
> I'm thinking of a requirement like: "all pages should load within 7 seconds
> for 100 concurrent users."
> If it loads within 7 seconds in JMeter, then it should also load in the
> browser. But if it doesn't in JMeter, does it mean that there's a
> performance problem?
>
> Thanks,
> Alex
>
>
> On Oct 19, 2009, at 11:47 PM, Deepak Shetty wrote:
>
>  And just FYI the number of parallel connections differ per browser
>>
>> http://stackoverflow.com/questions/561046/how-many-concurrent-ajax-xmlhttprequest-requests-are-allowed-in-popular-browser
>>
>>
>> regards
>> deepak
>>
>> On Mon, Oct 19, 2009 at 1:45 PM, Deepak Shetty <[email protected]> wrote:
>>
>>  Hi
>>> as mentioned by another poster, the browser can make requests in parallel
>>> (as far as I know this is max of two threads per domain).
>>> Hence you will see a difference with Jmeter which will download all
>>> requests serially. Also Yslow/tamper data do not measure rendering
>>> times/javascript execution either (I may be wrong). And finally even with
>>> the cache on , a request is still made (you'll just get a 304 response)
>>> hence requests being made in parallel(from the browser) will be faster.
>>> If
>>> you use tamper data , you can see this when you graph the results.
>>>
>>>
>>> regards
>>> deepak
>>>
>>>
>>>
>>>
>>> On Mon, Oct 19, 2009 at 2:34 AM, Alexandru Rotaru <[email protected]
>>> >wrote:
>>>
>>>  Hi all,
>>>>
>>>> I'm running some simple tests using Jmeter 2.3.4:
>>>> 1. connect to the website home page
>>>> 2. go to the login page
>>>> 3. log into the website
>>>>
>>>> My test plan looks like this:
>>>> + HTTP Cookie Manager
>>>> + HTTP Cache Manager
>>>> + HTTP Request Defaults  ("Retrieve all embedded resources from html
>>>> files" is ticked)
>>>> + Thread Group (repeat 1 thread for 10 times)
>>>>      - HTTP Request HomePage-Get
>>>>      - HTTP Request LoginPage-Get
>>>>      - HTTp Request LoginPage-Post
>>>> +View Results Tree
>>>>
>>>> The response times for the Get requests are:
>>>>
>>>>      HomePage - Get -> First run ~ 16.5 seconds, Next 9 runs ~ 9.3
>>>> seconds
>>>>      LoginPage - Get -> First run ~ 14.5 seconds, Next 9 runs  ~  9.3
>>>> seconds
>>>>
>>>> If I run the same steps in a browser, I get the following results:
>>>>      HomePage - Get -> First time (nothing is cached) <10 seconds, Next
>>>> runs < 3 seconds
>>>>      LoginPage - Get -> less than 2 seconds
>>>>
>>>> I ran the same tests using the HttpClient sampler, and got similar
>>>> result.
>>>> I ran the test both in GUI and non-GUI mode, and the results were
>>>> similar.
>>>>
>>>> I was expecting to see a time difference between the browser and Jmeter,
>>>> but the other way around (Jmeter time < Browser time) as the browser
>>>> does
>>>> also Java Script interpretation, page rendering ...
>>>>
>>>> I've been looking through the mailing archive, and found out about YSlow
>>>> and TamperData, and the Browser times I manually recorder resemble the
>>>> ones
>>>> from these apps.
>>>>
>>>> Is there a way to measure the server response times using JMeter, and
>>>> getting results close to real usage?
>>>>
>>>> Thanks,
>>>> Alex
>>>>
>>>>
>>>>
>>>
>

Reply via email to