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