jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe Mouawad <philippe.moua...@gmail.com>
Subject Re: Why does Jmeter have a huge memory footprint?
Date Thu, 29 Nov 2012 22:25:48 GMT
Hello,
I suggest you open a bugzilla (there is no one for that) and provide:

   - jmeter.properties and user.properties file
   - jmeter.log
   - jmeter file you used
   - Test Plan
   - And as you seem to have evaluated the memory some screenshots of
   consumptions you are talking about


Regards

Philippe

On Thu, Nov 29, 2012 at 10:52 PM, chaitanya bhatt <bhatt.chaitanya@gmail.com
> wrote:

>  I am running the test via console/terminal.
>  I am not saving transaction response times or responses to files.
>  I am measuring response time directly from the Wily (servlet response
> time).
>  I have response assertions which checks the body of the HTTP response.
>  The IF controller just evaluates a variable and checks if the value
> exceeds number 2. Interpreter condition and Evaluate for all children is
> Unchecked.
>  Basically, I have made sure that the test suit is as leane as possible.
>  I don't have any soft of non-html/non-json/non-xml HTTP resource requests.
>
> Thanks
> Chaitanya
>
> On Thu, Nov 29, 2012 at 1:27 PM, Philippe Mouawad <
> philippe.mouawad@gmail.com> wrote:
>
> > Hello,
> >
> > On Thu, Nov 29, 2012 at 10:12 PM, chaitanya bhatt <
> > bhatt.chaitanya@gmail.com
> > > wrote:
> >
> > > Thanks for replying Philippe!
> > >
> > > I noticed that the test cases you guys used to test the performance of
> > > Jmeter is far to small than real world cases. Your test case had JUST 3
> > > HTTP samplers with just 2 N-V pairs in each sample.
> > >
> >
> > Of course, this test plan must be simple for simple setup and it's more a
> > basis to compare versions.
> > It just illustrates the efforts made since 2.6 to improve performances,
> > look at dev list to see
> > what was made on 2.8.
> >
> >
> >
> > > Real world scenarios have at least 100-200 HTTP samples per thread
> group.
> > > And the requests should contain at least 10-20 NV (name/value) pairs
> for
> > > POST requests and the responses should at least weigh 80-120KB. At
> least
> > 20
> > > response assertions. At least and at least 10 post response regex
> > > evaluators. This is when you actually exercise the engine.
> > >
> > > The test with 4000 threads I was talking about was a real life one.
> >
> > I am currently using Jmeter 2.8 and JRE 1.6.
> > >
> > > I am not using third party plugins. I am not using XML/CSV output. I
> have
> > > removed all listeners.
> > >
> >
> > I don't understand, which kind of save service are you using:
> > CSV or  XML ?
> >
> > >
> > > I have 250 HTTP samplers with at least 10-NV pairs in each request.
> Most
> > > requests are of type: POST. I have 35 assertions and 13 regex
> > evaluators. I
> > > have 2 If controllers, 15 transaction controllers, 8 constant timers
> and
> > 1
> > > thread group.
> > >
> >
> > Which type of assertions ?
> > What is the config of IfControllers ?
> >
> > >
> > > Hope this helps. I will raise a defect in bugzilla but I'll be
> surprised
> > if
> > > it doesn't already have one.
> > >
> > > Yes please do and if possible attach a Test Plan as close to possible
> to
> > your current one and anonymize data in it.
> >
> >
> > > Thanks
> > > Chaitanya M Bhatt
> > >
> > >
> > >
> > > On Thu, Nov 29, 2012 at 12:25 PM, Philippe Mouawad <
> > > philippe.mouawad@gmail.com> wrote:
> > >
> > > > Hello,
> > > > Which version of JMeter are you using ?
> > > >
> > > > Can you attach your test plan to a bugzilla or show a description of
> > it ?
> > > >
> > > > As for what you are saying, I have already used jmeter with a machine
> > > > simular to the configuration you are describing and went up to 4000
> > > threads
> > > > and memory was not the limit in my case,
> > > > so you should investigate your test plan first particularly if you
> are
> > > > talking about Perm Gen as it's not the kind of memory that is highly
> > > > consumed except if you are using Javascript for example.
> > > >
> > > >    - What kind of Test Elements are you using ?
> > > >    - Are you using third party plugins?
> > > >    - Which listeners have you setup
> > > >    - Are you using XML or CSV output
> > > >
> > > >
> > > > As for what you are saying regarding "*This is a frustrating problem
> > > which
> > > > has been overlooked for a long time.*", please see:
> > > >
> > > >    - http://wiki.apache.org/jmeter/JMeterPerformance
> > > >
> > > > Regards
> > > >
> > > > Philippe
> > > >
> > > > On Thu, Nov 29, 2012 at 8:40 PM, chaitanya bhatt
> > > > <bhatt.chaitanya@gmail.com>wrote:
> > > >
> > > > > Group,
> > > > >
> > > > > I have noticed that Jmeter uses unreasonable amount of memory per
> > > thread.
> > > > > Even if you strip off loggers/result tree etc. you would still see
> a
> > > huge
> > > > > consumption of memory. I monitored the Jmeter memory heap and tuned
> > the
> > > > JVM
> > > > > as much as possible. In spite of this I noticed that the tenured
> > > > generation
> > > > > of the heap is always packed with objects of huge size. Lots of
> > classes
> > > > are
> > > > > loaded dynamically which is causing high occupancy in perm gen.
> > > > >
> > > > > I am working on another home grown tool which uses HTTPClient
> library
> > > to
> > > > > generate load. Using this home grown tool I can generate 4000
> > instances
> > > > per
> > > > > machine (64 bit with 32Gb ram and 16 CPU cores). But Jmeter on the
> > > > contrary
> > > > > fails to scale to a mere 1/10th of the target user load.
> > > > >
> > > > > This is a frustrating problem which has been overlooked for a long
> > > time.
> > > > >
> > > > > Can something be done about this?
> > > > >
> > > > > Thanks
> > > > > Chaitanya M Bhatt
> > > > > http://performancecompetence.com
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Cordialement.
> > > > Philippe Mouawad.
> > > >
> > >
> >
> >
> >
> > --
> > Cordialement.
> > Philippe Mouawad.
> >
>



-- 
Cordialement.
Philippe Mouawad.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message