jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From H Developer <asftwrdv...@gmail.com>
Subject Re: Running load test for N number of users and M number of transactions, using possibly two datasources
Date Thu, 30 Oct 2014 17:25:35 GMT
Hi, thanks for the reply yes it helps. the only difference that I made
instead of

 __CSVRead(per-user-csv-file-${__threadNum()}.csv,0)

I used

 __CSVRead(per-user-csv-file-${__threadNum()}.csv,0).
__CSVRead(per-user-csv-file-${__threadNum()}.csv,next)

to be able to read the next row instead of reading the same record 100
times.

However I believe, this is not a good strategy compared to visual studio
distrubuted load test features. I was using VS before and the controller
(in jmeter master) in VS controls the user distribution using a single
pointer across the slaves.
Here on the other hand, you have to specify which slave will run exactly
which users and transactions before each test run. If you change the number
of slaves or the number of users, you have to update your userDs and
transactionDs files and copy them over to the slaves.

I am just new to Jmeter and will see what is its strength and weaknesses
over Visual Studio, if you have any good comparison article between them
that I can also appreciate that.

Thanks.


On Tue, Oct 28, 2014 at 3:12 PM, Flavio Cysne <flaviocysne@gmail.com> wrote:

> Suggestions:
>
> * For single JMeter instance, distribute your transaction data in files
> numbered by user thread number (from 1 to 10, in your case)
>
> #1
> Test Plan (if users have to run sequentially)
>     - CSV Dataset Config (userDs.csv)
>     - Counter (start: 1, end: 10, increment: 1, referenceName: counter)
>     - Threads Group (threads: 1, loop: 10)
>         - Loop Controller (loop: 100)
>             - Samplers -> Use __CSVRead to a variable using ${counter} as
> part of it, like: __CSVRead(per-user-csv-file-${counter}.csv,0)
>
> #2
> Test Plan (if users will run simultaneously)
>     - CSV Dataset Config (userDs.csv)
>     - Threads Group (threads: 10, loop: 1)
>         - Loop Controller (loop: 100)
>             - Samplers -> Use __CSVRead to a variable using __threadNum as
> part of it, like: __CSVRead(per-user-csv-file-${__threadNum()}.csv,0)
>
>
> * For distributed environment with 10 JMeter slaves, each slave will have
> to have two CSV files (userDs.csv and per-user-csv-file.csv) with the data
> to use for the specific user
>
> each JMeter slave will have a userDs.csv file with only one line inside it,
> the one with the specific user data (ex: in JMeter slave 1, userDs.csv will
> have only one line: user1,password1)
>
> #3
> Test Plan (add Test Plan variables relative to user.properties keys. ex:
> user: ${__P(user,NOT_DEFINED)} / password : ${__P()}
>     - CSV DatasetConfig (userDs.csv)
>     - CSV DatasetConfig (per-user-csv-file.csv)
>     - Thread Group (threads: 1, loopCount 100)
>         - Samplers (no specific advice here. since every per-user data is
> distributed in distinct JMeter slaves, just use the field names as normal)
>
>
> Hope it helps
>

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