You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Deepak Shetty <sh...@gmail.com> on 2009/07/29 18:12:26 UTC

Re: Configuration for concurrent webservice testing

Hi
this is what I might try
Option A
Thread group 1 ${__property(threadCount)} number of thread, Loop
${__property(loopCount)} times
   -- Can have some random behavior here like interleave, throughput
     Each Webservice
      Each Soap Request
CSV Data Set config (60 records worth of data)

Ant script
  Call Jmeter with different properties
    <jmeter
        jmeterhome=".."
        testplan="${run.test.plan}"

resultlog="${report.dir}/${run.test.report}-${run.env}-${DSTAMP}${TSTAMP}.jtl">
        <property name="jmeter.save.saveservice.output_format" value="xml"/>
        <property name="threadCount" value="1" />
        <property name="loopCount" value="60" />
    </jmeter>

    <jmeter
        jmeterhome=".."
        testplan="${run.test.plan}"

resultlog="${report.dir}/${run.test.report}-${run.env}-${DSTAMP}${TSTAMP}.jtl">
        <property name="jmeter.save.saveservice.output_format" value="xml"/>
        <property name="threadCount" value="5" />
        <property name="loopCount" value="12" />
    </jmeter>

Option B
Common Thread Group (Disabled , needed only to define the common tests)
   Simple Controller --> Under here you could use different controllers if
you wanted to randomize the requests (Interleave, Throughput etc)
     Each Webservice
      Each Soap Request
     User Parameters or CSV data set config (this is the bit im not sure
will work , if it doesnt then Id use a CSV data set config and repeat the
configuration for each thread group but the data isn't duplicated so i think
thats ok)

Thread group 1 1 thread, Loop 60 times
   Module Controller --> Common Group --> Simple Controller


Thread group 2 5 thread, Loop 12 times
   Module Controller --> Common Group --> Simple Controller

Configure Thread Groups to run serially



regards
deepak


On Wed, Jul 29, 2009 at 2:19 AM, Erik Drolshammer <er...@fjas.no> wrote:

> Hello!
> I'm pretty new to JMeter, and I'm struggling with how to parameterize it
> properly.
>
> My use case:
>
> for each Webservice
>  for each SOAP request
>    run 1 user, 60 loops   (60 samples)
>    run 5 users, 12 loops  (60 samples)
>    run 10 users. 6 loops  (60 samples)
>    run 15 users, 4 loops  (60 samples)
>    run 20 users, 3 loops  (60 samples)
>
>
> I am initially trying to do one of the soap xml requests at a time, but it
> would probably be better to have some sort of mix using different requests.
> Either will do.
>
> Can anyone advice me on how to set this up?
> Or point me to the relevant concepts in the documentation?
>
>
> For now I have one JMX file for each request and one threadgroup for the
> different steps of users (5 thread groups). Where each threadgroup have the
> exact same result collectors.
>
> I have experimentet a bit with User Defined Variables (UDV). It seems I
> need some way to let one variable reference a set/list of values.
>
> The setup now is too hard to maintain due to duplicated configuration.
>
>
>
> I am familiar with Maven and the maven-jmeter-plugin. I can handle ONE of
> these dimensions using different executions, but I cannot handle two and
> this is not a very elegant solution.
>
> The resources I have looked at are listed at
>
> http://wiki.community.objectware.no/display/smidigtonull/JMeter+configuration
>
>
> Thanks in advance.
>
> --
> Best regards
> Erik Drolshammer
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

Re: Configuration for concurrent webservice testing

Posted by Deepak Shetty <sh...@gmail.com>.
Can you try the following
Common Thread Group (disabled)
 Simple Controller
   ForEach Controller
     Webservice request
       View Results Tree
   User Defined Variables (child of simple controller, not for each)


1-user Thread Group
 Module Controller -> Common Thread Group -> Simple Controller

Report should be at test plan level I think
regards
deepak

On Thu, Jul 30, 2009 at 12:56 AM, Erik Drolshammer <er...@fjas.no> wrote:

> Thank you for your suggestions. I have come a lot further. :)
> There are still some minor bugs in my setup. See comments inline.
>
>
> Deepak Shetty wrote:
>
>> this is what I might try
>> Option B
>> Common Thread Group (Disabled , needed only to define the common tests)
>>   Simple Controller --> Under here you could use different controllers if
>> you wanted to randomize the requests (Interleave, Throughput etc)
>>     Each Webservice.
>>      Each Soap Request
>>     User Parameters or CSV data set config (this is the bit im not sure
>> will work , if it doesnt then Id use a CSV data set config and repeat the
>> configuration for each thread group but the data isn't duplicated so i
>> think
>> thats ok)
>>
>
> I did not quite understand all of this. What I have set up:
>
> Common Thread Group (disabled)
>  ForEach Controller
>    Webservice request
>      View Results Tree
>      Summary Report
>
> ForEach, Input variable prefix: xmlfile
> Output variable prefix: xmlfilename
>
> In User Defined Variables:
> report_path = /tmp/reports
> xml_file_path = /tmp
> xmlfile1 = search1.xml
> xmlfile2 = search2.xml
> xmlfile3 = search3.xml
>
> In File with SOAP XML Data - Filename: ${xml_file_path}/${xmlfilename}
>
>
> 1-user Thread Group
>  Module Controller -> Common Thread Group -> ForEach Controller
>
>
>
> If I enable and run the Common Thread group, all three searches are run.
>
> If I run the 1-user thread group, only xmlfile1=search1 is run. This search
> is repeated the number of loops defined on the 1-user thread group.
>
> I was expecting # of loops in 1-user thread group multiplied with the
> number of xml-files.
>
> What am I missing here?
> Any suggestions?
>
>
> It is also strange that the variable in the ResultCollectors are not
> resolved. The output file is defined as:
>
> ${report_path}/${xmlfilename}_viewResultsTree.xml
>
> The resulting file is
> /tmp/reports/${xmlfilename}_viewResultsTree.xml
>
> This also seems strange to me. Any explanations why?
>
>
>  Configure Thread Groups to run serially
>>
>
> Done.
>
>
>
>
> Btw, I use JMeter 2.3.4 r785646, Java 1.6.0_14-b08 and Ubuntu 9.0.4.
>
>
>
> --
> Best regards
> Erik Drolshammer
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

Re: Configuration for concurrent webservice testing

Posted by Erik Drolshammer <er...@fjas.no>.
Thank you for your suggestions. I have come a lot further. :)
There are still some minor bugs in my setup. See comments inline.


Deepak Shetty wrote:
> this is what I might try
> Option B
> Common Thread Group (Disabled , needed only to define the common tests)
>    Simple Controller --> Under here you could use different controllers if
> you wanted to randomize the requests (Interleave, Throughput etc)
>      Each Webservice.
>       Each Soap Request
>      User Parameters or CSV data set config (this is the bit im not sure
> will work , if it doesnt then Id use a CSV data set config and repeat the
> configuration for each thread group but the data isn't duplicated so i think
> thats ok)

I did not quite understand all of this. What I have set up:

Common Thread Group (disabled)
   ForEach Controller
     Webservice request
       View Results Tree
       Summary Report

ForEach, Input variable prefix: xmlfile
Output variable prefix: xmlfilename

In User Defined Variables:
report_path = /tmp/reports
xml_file_path = /tmp
xmlfile1 = search1.xml
xmlfile2 = search2.xml
xmlfile3 = search3.xml

In File with SOAP XML Data - Filename: ${xml_file_path}/${xmlfilename}


1-user Thread Group
   Module Controller -> Common Thread Group -> ForEach Controller



If I enable and run the Common Thread group, all three searches are run.

If I run the 1-user thread group, only xmlfile1=search1 is run. This 
search is repeated the number of loops defined on the 1-user thread group.

I was expecting # of loops in 1-user thread group multiplied with the 
number of xml-files.

What am I missing here?
Any suggestions?


It is also strange that the variable in the ResultCollectors are not 
resolved. The output file is defined as:

${report_path}/${xmlfilename}_viewResultsTree.xml

The resulting file is
/tmp/reports/${xmlfilename}_viewResultsTree.xml

This also seems strange to me. Any explanations why?


> Configure Thread Groups to run serially

Done.




Btw, I use JMeter 2.3.4 r785646, Java 1.6.0_14-b08 and Ubuntu 9.0.4.


-- 
Best regards
Erik Drolshammer

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