Andy Bell wrote:
Hi
I'm writing concurrency tests for a data insertion web service.
The database table has a unique key field (it cannot be autoincremented :-(
) so I'm trying to get JMeter to generate unique keys for me. I need to:
1) Have a starting vlue that is globally shared between all the threads
2) Have each thread increment its value between insert statements
3) Save the final value to a file so that the next test run can use it.
Of course, this leads to difficulties with managing thread concurrency.
Additionally, the database key field is an alph-numeric with a maximum of 6
characters, so I don't have a vast range of values to play with...
Can this be done with JMeter?
You can share data between threads using JMeter properties instead of
variables. In BSF/beanshell/etc. you can access these through the
'props' object.
I think there is another way too - if you have X threads, and a starting
value of A, then you would be able to use A + 0 in thread 1, A + 1 in
thread 2, up to A + X-1 in thread X. You could then increment these by X
each iteration.
The thread count and thread number are available from the JMeterContext
object available as 'ctx':
// Total threads
var thread_count = ctx.getThreadGroup().getNumThreads();
// Current thread number
var thread_num = ctx.getThreadNum();
Hope that helps,
Ronan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]