1 Reply Latest reply on Jul 6, 2009 8:29 PM by Jean Luc

    Seam apps, SFSB passivation, and low user load

    Arbi Sookazian Master

      For small user-base Seam apps (less than 100 concurrent users, e.g.), do you guys turn off passivation/activation of SFSBs?


      If you use the default session-timeout of 30 mins from the %JBOSS_HOME%\server\default\deploy\jboss-web.deployer\conf\web.xml and increase the idleTimeoutSeconds to greater than 30 mins in ejb3-interceptors-aop.xml:

      @org.jboss.annotation.ejb.cache.simple.CacheConfig (maxSize=100000, idleTimeoutSeconds=300, removalTimeoutSeconds=0)

      Then the EJB container will never passivate or activate your SFSBs (no serialization to disk will occur).

      If you have heavy load, say in an external-facing app that services hundreds of concurrent requests/sessions, then this is a bad idea b/c you may eventually run out of heap space in your JVM (of course, it depends on your envmt: physical RAM and clustering, etc.)

      But for small apps with small loads, is this a good idea to improve the performance of your Seam app or will it be negligible and thus unnecessary?

        • 1. Re: Seam apps, SFSB passivation, and low user load
          Jean Luc Apprentice

          If you have such an application and a suitable load test suite, it would be interesting to measure both cases. I haven't found any hard performance data for Seam apps (and, frankly, am a bit wary seeing several unoptimized areas in JSF).

          I guess that for small apps with small loads, you will not see the effect of passivation/activation. That is, if the server is not loaded, the speed with which will do this will not be seen, especially when compared to other tasks, such as rendering views (both on the server side, as part of JSF) and on the client side.