Quantcast

Warming up Java servers before measuring performance

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Warming up Java servers before measuring performance

Isuru Perera
Hi,

We are using JMeter to run load tests on our Java servers and we want to
warm-up the application before taking measurements.

For example, I want to have 10 minutes as the warm up time and 20 minutes
as the measurement time.

I see two approaches to this.

1. Run JMeter for 30 minutes and exclude first 10 minutes data in the JTL
file and generate reports.
2. Run JMeter for 10 minutes and run again for 20 minutes. Generate reports
from 20 minutes JTL file.

We prefer number 1, as the Java server will be in a steady state when
taking measurements. However for approach 1, we need to find a way to
exclude first few minutes of data. We can do this with a simple program.

Number 2 approach may not be useful as we are restarting the JMeter and it
will take some time get a steady throughput.

I searched the web and I found following Stackoverflow question.
http://stackoverflow.com/questions/32237837/how-to-exclude-warmup-time-from-jmeter-summary

With GraphsGeneratorListener
<http://jmeter-plugins.org/wiki/GraphsGeneratorListener/>, it seems that I
can only generate reports. Is there any other way to just exclude first few
minutes in the JTL and then use the JTL to generate reports (for example,
JMeter Dashboard). Is that listener the only standard way to exclude
warm-up time in JMeter?

Why don't I see anything mentioned about Java Warm-up time in official
docs? Since JMeter is based on Java, I expected some guidelines to load
test Java servers and how to exclude Java warm-up time. I think we should
also consider the warm-up time of JMeter. With approach 1, we can also make
sure that JMeter is also performing at its best when taking the
measurements.

I really appreciate your feedback on this.

Thank you.

Best Regards,
--
Isuru Perera
about.me/chrishantha
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Warming up Java servers before measuring performance

glinius@live.com
This post has NOT been accepted by the mailing list yet.
You can use Filter Results Tool which provides start-offset and end-offset command-line options so you can precisely set the range you are interested in and focus on the steady phase analysis.

You can install Filter Results Tool using JMeter Plugins Manager:



Upon installation you will see FilterResults.bat and FilterResults.sh scripts for Windows and Linux/Unix/MacOSX operating systems correspondingly.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Warming up Java servers before measuring performance

shettyd
In reply to this post by Isuru Perera
Hi
Your reporting engine of choice will usually support this filter. For most
non trivial load tests you have to analyze the data in either a DB or
something like graphite etc - Almost all of which will trivially allow you
to filter out time frames you dont want.
For out of box listeners , yes you could write a simple program to filter
values from JTL.

Ive not found JMeter *warmup* to be a significant issue to matter in most
normal load tests (i.e. those that run for atleast an hour). The
application itself is a different matter but thats very application
specific.(And sometimes *warmup* hides issues)

On Wed, May 17, 2017 at 11:48 PM, Isuru Perera <[hidden email]>
wrote:

> Hi,
>
> We are using JMeter to run load tests on our Java servers and we want to
> warm-up the application before taking measurements.
>
> For example, I want to have 10 minutes as the warm up time and 20 minutes
> as the measurement time.
>
> I see two approaches to this.
>
> 1. Run JMeter for 30 minutes and exclude first 10 minutes data in the JTL
> file and generate reports.
> 2. Run JMeter for 10 minutes and run again for 20 minutes. Generate reports
> from 20 minutes JTL file.
>
> We prefer number 1, as the Java server will be in a steady state when
> taking measurements. However for approach 1, we need to find a way to
> exclude first few minutes of data. We can do this with a simple program.
>
> Number 2 approach may not be useful as we are restarting the JMeter and it
> will take some time get a steady throughput.
>
> I searched the web and I found following Stackoverflow question.
> http://stackoverflow.com/questions/32237837/how-to-
> exclude-warmup-time-from-jmeter-summary
>
> With GraphsGeneratorListener
> <http://jmeter-plugins.org/wiki/GraphsGeneratorListener/>, it seems that I
> can only generate reports. Is there any other way to just exclude first few
> minutes in the JTL and then use the JTL to generate reports (for example,
> JMeter Dashboard). Is that listener the only standard way to exclude
> warm-up time in JMeter?
>
> Why don't I see anything mentioned about Java Warm-up time in official
> docs? Since JMeter is based on Java, I expected some guidelines to load
> test Java servers and how to exclude Java warm-up time. I think we should
> also consider the warm-up time of JMeter. With approach 1, we can also make
> sure that JMeter is also performing at its best when taking the
> measurements.
>
> I really appreciate your feedback on this.
>
> Thank you.
>
> Best Regards,
> --
> Isuru Perera
> about.me/chrishantha
>
Loading...