Hi!

Few days ago I also realized that invoking java script takes too long. To
fix it you can try those things:
1. instead of using rhino library in version 1.6.x try to use the newest
version: 1.7.2 it can give fiew percentage, this speed up my tests a little.
2. change org.apache.jmeter.functions.JavaScript to use default javascript
engine available with jdk6 (use ScriptEngineManager and ScriptEngine class)
it should boost your tests twice or more, but I'm not sure if those engines
are 100% compatible, it works correct for my.

I spent several days to optimize jmeter and I must say that functionality of
this tool is great but performance is dramatic low. It almost impossible to
make stress test, because after collected 300 000 - 500 000 samples, jmeter
performance drops rapidly (even if test use only one listener: aggregate
report).
I checked that before optimization after 1 hour stress test jmeter showed
throughput 450 req/s of my server, after optimization throughput is about
5000! 

Best regards,
Jakub


George Barnett-3 wrote:
> 
> Hi,
> 
> I'm seeing a large number of my threads blocking while executing  
> Javascript.  Is there any advice for how to lower this blocking?
> 
> George
> 
> build 07-Sep-2009 00:36:31    [INFO] "Browse 3-1" prio=10  
> tid=0x00002aaaf8635c00 nid=0x6b21 waiting for monitor entry  
> [0x00000000427df000..0x00000000427e0c10]
> build 07-Sep-2009 00:36:31    [INFO]    java.lang.Thread.State: BLOCKED  
> (on object monitor)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.functions.JavaScript.execute(JavaScript.java:66)
> build 07-Sep-2009 00:36:31    [INFO]  - waiting to lock  
> <0x00002aaab2a85ae8> (a org.apache.jmeter.functions.JavaScript)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.engine.util.CompoundVariable.execute 
> (CompoundVariable.java:143)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.engine.util.CompoundVariable.execute 
> (CompoundVariable.java:112)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.testelement.property.FunctionProperty.getStringValue 
> (FunctionProperty.java:89)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.WhileController.getCondition 
> (WhileController.java:112)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.WhileController.endOfLoop 
> (WhileController.java:56)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.WhileController.nextIsNull 
> (WhileController.java:78)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.next 
> (GenericController.java:141)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.WhileController.next(WhileController.java:93)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.nextIsAController 
> (GenericController.java:185)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.next 
> (GenericController.java:146)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.WhileController.next(WhileController.java:93)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.nextIsAController 
> (GenericController.java:182)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.TransactionController.nextIsAController 
> (TransactionController.java:125)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.next 
> (GenericController.java:146)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.TransactionController.next2 
> (TransactionController.java:155)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.TransactionController.next 
> (TransactionController.java:88)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.nextIsAController 
> (GenericController.java:182)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.next 
> (GenericController.java:146)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.nextIsAController 
> (GenericController.java:182)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.next 
> (GenericController.java:146)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.ThroughputController.next 
> (ThroughputController.java:186)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.nextIsAController 
> (GenericController.java:182)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.GenericController.next 
> (GenericController.java:146)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.control.LoopController.next(LoopController.java:109)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.threads.ThreadGroup.next(ThreadGroup.java:129)
> build 07-Sep-2009 00:36:31    [INFO]  at  
> org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:242)
> build 07-Sep-2009 00:36:31    [INFO]  at java.lang.Thread.run(Thread.java: 
> 619)
> 

-- 
View this message in context: 
http://www.nabble.com/Blocking-while-running-Javascript-tp25325367p25334799.html
Sent from the JMeter - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to