You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by George Barnett <gb...@atlassian.com> on 2009/09/07 07:59:51 UTC

Blocking while running Javascript

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)

Re: Blocking while running Javascript

Posted by sebb <se...@gmail.com>.
On 07/09/2009, RaGnoR <ra...@gmail.com> wrote:
>
>  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).

That's not suprising - Aggregate Report has to save details of every
single sample.
Use Summary Report instead, and please read:

http://jakarta.apache.org/jmeter/usermanual/best-practices.html#lean_mean

>  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!

If there are any optimisation tweaks you can provide, please use a
Bugzilla enhancement request.

>  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: jmeter-user-unsubscribe@jakarta.apache.org
>  For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: Blocking while running Javascript

Posted by RaGnoR <ra...@gmail.com>.
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: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org