The execute() method is synchronized.

Not entirely sure that is necessary ... although functions are shared
between threads.

Perhaps you could create a Bugzilla issue, and then attach the test
plan so we can see if removing the synchronization helps, and if the
plan still works OK?

S.
On 27/04/07, iblavins <[EMAIL PROTECTED]> wrote:



G'day



The addition of a JavaScript function call to test plan appears to create a
large performance hit when the number of JMeter threads is large (in this
case 1,000).



I have a very simple sampler (made for this testing).



Running the sampler under a simple test plan that includes a user defined
variable set to a constant I can get through 1.0M samples per minute. The
system under test runs at 96% CPU utilisation.



If I change the constant in the user defined variable to a very simple Java
script to add 1 to a(n existing) variable, the throughput goes down to about
49,000 samples per minute and the best I can get out of the system under
test is 38% CPU utilisation.



It looks, from the drop in CPU utilisation, like JMeter queues or single
threads on the Java Script. (Which may be entirely reasonable – I haven't
thought through how the JavaScript function would have to be implemented for
correct operation in a multi-threaded environment).



The details are attached.



I can get around this by coding some very simple samplers to take the place
of each different Java script I use in my real test plan. I expect to take a
performance hit compared to 1.1M samples per minute but I don't think it
will be of the same order as the JavaScript hit and I will be able to live
with it.



(And, no, I don't need to hit my system under test at 1M samples a minute.
But I did need to explain why I wasn't getting better CPU utilisation using
a more complex test plan operating in the 60,000 sample per minute region
and I'm confident this is the reason. When I replace the JavaScript calls
with Samplers (or something else) I expect to get a lot more samples done
with a lot less kit.)













Ian Blavins

Contract Performance Engineer

Temenos



This email (and any attachments) contains confidential information, and is
intended only for the named recipient. Distribution or copying of this email
by anyone other than the named recipient is prohibited. If you are not the
named or intended recipient, please notify TEMENOS or the sender immediately
and permanently destroy this email (and any attachments) and all copies of
it. No member of TEMENOS Group AG or any of its associated or affiliated
companies is liable for any errors or omissions in the content or
transmission of this email. Any opinions contained in this email are solely
those of the author and, unless clearly indicated otherwise in writing, are
not endorsed by any member of TEMENOS Group AG or any of its associated and
affiliated companies.
---------------------------------------------------------------------
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to