as per our off-line debugging session, issues seems to be in Jaggery Stream
print [1] function. Rasika will look into improving scream copy java method
and check.


[1]
https://github.com/wso2/jaggery/blob/master/components/jaggery-core/org.jaggeryjs.jaggery.core/src/main/java/org/jaggeryjs/jaggery/core/manager/CommonManager.java

On Wed, Jul 15, 2015 at 3:40 AM, Manuranga Perera <m...@wso2.com> wrote:

> Let's take a JFR snapshot and see what's really taking time. I am guessing
> its reading of the definition files. We can cache the unit definitions if
> that's the case.
> On 15 Jul 2015 00:24, "Rasika Perera" <rasi...@wso2.com> wrote:
>
>> Hi All,
>>
>> We have setup a Jaggery App written using Unified UI sharable components
>> framework on top of a WSO2 server pack.
>>
>> When increasing the number of concurrent users we are experiencing a huge
>> performance drop in the server. In the middle of an internal training
>> session we tried to access the Jaggery Application using 9-10 concurrent
>> browser terminals. Server tends to hits 100% CPU usage when trying to
>> accessing webapp.
>>
>> At the server side we are getting following error intermittently;
>>
>> [2015-07-14 23:31:58,270] ERROR
>>> {org.jaggeryjs.jaggery.core.manager.WebAppManager} -
>>> org.mozilla.javascript.WrappedException: Wrapped
>>> org.jaggeryjs.scriptengine.exceptions.ScriptException:
>>> org.apache.catalina.connector.ClientAbortException: java.io.IOException:
>>> Broken pipe (/iotserver/lib/fuse-router.js#92)
>>> org.jaggeryjs.scriptengine.exceptions.ScriptException:
>>> org.mozilla.javascript.WrappedException: Wrapped
>>> org.jaggeryjs.scriptengine.exceptions.ScriptException:
>>> org.apache.catalina.connector.ClientAbortException: java.io.IOException:
>>> Broken pipe (/iotserver/lib/fuse-router.js#92)
>>
>>
>> The thread dump of the server is attached[1]. Most of active threads are
>> executing "fuse.js" and "rhino" This issue is reproducible at the local
>> machine when accessing concurrently.
>>
>> "http-nio-9443-exec-14" daemon prio=10 tid=0x00007fc330057000 nid=0x14eb
>>> runnable [0x00007fc30ae26000]
>>>    java.lang.Thread.State: RUNNABLE
>>> at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
>>> at
>>> org.jaggeryjs.rhino.iotserver.lib.c0._c_anonymous_1(/iotserver/lib/fuse.jag:6)
>>> at org.jaggeryjs.rhino.iotserver.lib.c0.call(/iotserver/lib/fuse.jag)
>>> at
>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
>>> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
>>> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
>>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>> at
>>> org.jaggeryjs.rhino.iotserver.lib.c0._c_anonymous_1(/iotserver/lib/fuse.jag:5)
>>> at org.jaggeryjs.rhino.iotserver.lib.c0.call(/iotserver/lib/fuse.jag)
>>> at
>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
>>> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
>>> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
>>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>> at
>>> org.jaggeryjs.rhino.iotserver.lib.c0._c_anonymous_1(/iotserver/lib/fuse.jag:5)
>>> at org.jaggeryjs.rhino.iotserver.lib.c0.call(/iotserver/lib/fuse.jag)
>>> at
>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
>>> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
>>> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
>>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>> at
>>> org.jaggeryjs.rhino.iotserver.lib.c0._c_anonymous_1(/iotserver/lib/fuse.jag:5)
>>> at org.jaggeryjs.rhino.iotserver.lib.c0.call(/iotserver/lib/fuse.jag)
>>> at
>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
>>> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
>>> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
>>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>> at
>>> org.jaggeryjs.rhino.iotserver.lib.c0._c_anonymous_1(/iotserver/lib/fuse.jag:5)
>>> at org.jaggeryjs.rhino.iotserver.lib.c0.call(/iotserver/lib/fuse.jag)
>>> at
>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
>>> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
>>> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
>>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>> at
>>> org.jaggeryjs.rhino.iotserver.lib.c0._c_anonymous_1(/iotserver/lib/fuse.jag:5)
>>> at org.jaggeryjs.rhino.iotserver.lib.c0.call(/iotserver/lib/fuse.jag)
>>> at
>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
>>> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
>>> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
>>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>> at
>>> org.jaggeryjs.rhino.iotserver.lib.c0._c_anonymous_1(/iotserver/lib/fuse.jag:5)
>>
>>
>> Any help to resolve this issue would be really appreciated.
>>
>> Thank you
>>
>> --
>> With Regards,
>>
>> *Rasika Perera*
>> Software Engineer
>> M: +94 71 680 9060 E: rasi...@wso2.com
>> LinkedIn: http://lk.linkedin.com/in/rasika90
>>
>> WSO2 Inc. www.wso2.com
>> lean.enterprise.middleware
>>
>


-- 
With regards,
*Manu*ranga Perera.

phone : 071 7 70 20 50
mail : m...@wso2.com
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to