users@glassfish.java.net

Re: Cluster performance and failover

From: Shreedhar Ganapathy <Shreedhar.Ganapathy_at_Sun.COM>
Date: Wed, 15 Aug 2007 08:09:57 -0700

Hi Ranob
There could be several things that may be at play here so I will ask
some questions:

Which build of GlassFish v2 are you using?
What is your cluster size and how many machines are you using?
What is memory capacity of these machines?
What is the memory consumption for each instance and LB when you are
running the app through LB?
What is the available free memory when running the LB, DAS and cluster?
What is cpu clock speed of these machines ?
Are you running this app under load or simply trying requests with mod_jk?
Have you tried this with the Sun Web Server LB plugin and if yes, are
you still seeing the performance problem?

Can you try setting a higher heap size for your cluster? The default
setting of 512MB will not work for load based apps and one has to size
the heap based on the nature of app, # of requests, and session size.

Once we have your responses, we might be able to help more.
regards
Shreedhar

glassfish_at_javadesktop.org wrote:
> Hello All,
>
> I have also developed a simple web app with VWP and deployed it on a Glassfish V2 cluster. I hava used mod_jk with apache for the load balancing. THe perfomance is very bad, several minutes to load a simple page. It doen´s mind if i access direct to de glassfish instance or through the load balancer. It´s very slow.
>
> There is also one exception :
>
> [#|2007-08-14T13:56:09.890+0200|INFO|sun-appserver9.1|org.apache.catalina.session.ManagerBase|_ThreadID=42;_ThreadName=RMI TCP Connection(93)-192.168.0.13;|PWC2785: Cannot serialize session attribute BuscarPeliculasTitulo for session 4374e34b65f760dedcd37c162f04
> java.io.NotSerializableException: com.sun.webui.jsf.component.Body
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
> at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1375)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> at java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1079)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
> at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1939)
> at sun.reflect.GeneratedMethodAccessor270.invoke (Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at java.io.ObjectStreamClass.invokeWriteObject (ObjectStreamClass.java:917)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
> at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> at java.io.ObjectOutputStream.writeObject0 (ObjectOutputStream.java:1079)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
> at org.apache.catalina.session.StoreBase.writeSession(StoreBase.java:257)
> at com.sun.enterprise.ee.web.sessmgmt.HAStoreBase.getByteArray (HAStoreBase.java:199)
> at com.sun.enterprise.ee.web.sessmgmt.ReplicationStore.doSave(ReplicationStore.java:305)
> at com.sun.enterprise.ee.web.sessmgmt.ReplicationStore.save(ReplicationStore.java:290)
> at org.apache.catalina.session.PersistentManagerBase.writeSession(PersistentManagerBase.java:1102)
> at org.apache.catalina.session.PersistentManagerBase.swapOut(PersistentManagerBase.java:1074)
> at org.apache.catalina.session.PersistentManagerBase.unload (PersistentManagerBase.java:952)
> at org.apache.catalina.session.PersistentManagerBase.stop(PersistentManagerBase.java:1210)
> at com.sun.enterprise.ee.web.sessmgmt.ReplicationWebEventPersistentManagerBase.stop (ReplicationWebEventPersistentManagerBase.java:180)
> at org.apache.catalina.core.StandardContext.stop(StandardContext.java:5317)
> at com.sun.enterprise.web.WebModule.stop(WebModule.java:356)
> at org.apache.catalina.core.StandardContext.preDeregister (StandardContext.java:6295)
> at com.sun.org.apache.commons.modeler.BaseModelMBean.preDeregister(BaseModelMBean.java:1418)
> at com.sun.jmx.mbeanserver.BaseMetaDataImpl.preDeregisterInvoker(BaseMetaDataImpl.java :122)
> at com.sun.jmx.mbeanserver.MetaDataImpl.preDeregisterInvoker(MetaDataImpl.java:251)
> at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean(DefaultMBeanServerInterceptor.java:377)
> at com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean(JmxMBeanServer.java:527)
> at com.sun.enterprise.interceptor.DynamicInterceptor.unregisterMBean(DynamicInterceptor.java:298)
> at com.sun.enterprise.management.util.J2EEManagementObjectManager.unregister (J2EEManagementObjectManager.java:1611)
> at com.sun.enterprise.management.util.J2EEManagementObjectManager.unregisterModuleAndItsComponents(J2EEManagementObjectManager.java:799)
> at com.sun.enterprise.management.util.J2EEManagementObjectManager.deleteAppMBeans (J2EEManagementObjectManager.java:779)
> at com.sun.enterprise.server.ApplicationLoader.deleteLeafMBeans(ApplicationLoader.java:374)
> at com.sun.enterprise.server.ApplicationLoader.deleteLeafAndRootMBeans(ApplicationLoader.java :382)
> at com.sun.enterprise.server.ApplicationManager.applicationUndeployed(ApplicationManager.java:508)
> at com.sun.enterprise.server.ApplicationManager.applicationUndeployed(ApplicationManager.java:699)
> at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:930)
> at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent( AdminEventMulticaster.java:912)
> at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:461)
> at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java :176)
> at com.sun.enterprise.ee.admin.mbeans.ServerRuntimeMBean.forwardEvent(ServerRuntimeMBean.java:95)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>
> It can be serialized the attribute of my page (com.sun.webui.jsf.component.Body). Perhaps this is related with de bad perfomance.
>
> Any ideas?
>
> Thx
> Regards
> Ranob
> [Message sent by forum member 'ranob' (ranob)]
>
> http://forums.java.net/jive/thread.jspa?messageID=230946
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>