Hi Noel,

I'd stay away from using Java 1.6.0 for now. Hasn't yet proven to be
that dependable. Sebb might have some more info on that.

Cheers Oliver

-----Original Message-----
From: Noel O'Brien [mailto:nobr...@newbay.com] 
Sent: Friday, March 27, 2009 3:17 AM
To: jmeter-user@jakarta.apache.org
Cc: sebb
Subject: Re: Accuracy of Elapsed Time


On Thursday 26 March 2009 13:00:02 sebb wrote:
> On 26/03/2009, Noel O'Brien <nobr...@newbay.com> wrote:
> > Hi,
> >
> >  I'm running some load testing, nothing too heavy. 10 JMeter
threads,
> > ramp up is 30. JMeter is run from the command line and the test plan
has
> > no listeners. using the -l flag, I capture the results to a CSV
file.
>
> Good.
>
> JMeter version?

JMeter 2.3.2:r665936
Java: Sun 1.6.0_06-b02
OS: RHEL 5.2 running in RHEL hypervisor

> >  I then load the results file into JMeter and look at hem from a
Summary
> >  Listener, View Tree Listener etc. I'm a little confused by the
elapsed
> > time results.
> >
> >  The app under test has the ability to log the time that's taken to
> > receive the request and complete sending the response, which for an
auth
> > API call it lists as taking 114ms for example (ronded to the closest
ms)
> >
> >  I've set up tcpdump on the machine running the app (refer to as
server
> >  henceforth) and the machine running  JMeter (refer to as client
> > henceforth).
> >
> >  tcpdump on the server reports that the time between the request and
> > response packets to be 113.83ms, while tcpdump on the client reports
that
> > the time between the request and response packets 113.96ms
> >
> >  However for that particular HTTP request, JMeter reports that the
load
> > time (elasped time) is 174ms and that the latency is 174 ms also.
How is
> > this discrepancy explained?
>
> There is overhead in the OS, Java and JMeter on both sending and
receiving.

Some of the other API calls I make only show a difference of a few ms in
JMeter 
compared to the app/tcpdump

> Note also that the timer resolution will affect the reported elapsed
time.
> However if you are running 2.3.2+ on Java 1.5+ it will use a higher
> resolution timer.

Does it matter that the auth API call is the first call for each thread?
(Is 
the thread doing extra work at it's start-up that would impact the
time?)

> >  As I understand it, the latency is the time taken to receive the
first
> > byte of the response and since the load time and latency are the
same
> > then it indicated that the response payload was received within 1
ms. Is
> > this correct? Or is it even possible to achieve this? The payload
size
> > for this response is 106 bytes.
>
> Latency is time to first response.
> This may be the entire response, especially for small payloads.

Ah, I see :)

> >  From the tcpdump on the client, it's clear that the response
packets are
> >  available to JMeter after 113ms (*) so I'm concerned about what's
> > causing the increase.
>
> (*) The OS (and Java) have to process the request before tcpdump sees
> it, and likewise after tcpdump sees the response.

Hmmm, see above re: other API calls.

> >  FWIW, the auth request sampler has an XPath Extracter Post
processor,
> > but processing time for that's not included in the load time
right??. All
> > HTTP Samplers are Java, not HTTPClient.
>
> Post-Processors are not included in individual sample-times.

Good :)

> The HttpSampler does as little processing as possible whilst timing
> the sample, but it has to issue the connect - retrying if necessary -
> then send the data and process the response.
>
> The connection time is not currently measured separately.
>
> I don't know why the times differ by as much as you are seeing.
> Is this the case for all samples, or only a few?

Only a few when the tests are run for a short period of time. Even with
a 
single threaded test the times are off a little for some calls.

When the test is left for more than a few hours the times seem to become
more 
in-accurate. 

> And does it really matter, so long as the server can handle the load
> it's supposed to?

Part of our tests are to test how many "users" the app can handle before
a 
degradation of quality beyond a certain point (e.g. 2 seconds), so the 
inaccuracies I'm seeing are not helping to determine that number :(
because 
the average time per call for 10 threads grows over time

> >  Regards,
> >
> > Noel
>
> ---------------------------------------------------------------------
> 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