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]

