[ http://jira.magnolia.info/browse/MAGNOLIA-623?page=all ]

Fabrizio Giustina updated MAGNOLIA-623:
---------------------------------------

    Priority: Critical  (was: Major)

changing priority to "critical", after the result of a somewhat deeper 
performance test...

the memory requirements of a public magnolia instance are mostly due to the 
creation of http sessions.
I recently did some profiling on the 2.1 branch using:
- Jmeter
- Jmx client (mc4j) for jmx monitoring (memory, number of sessions)
- eclipse profiler (TPTP)

Running the same test with Jmeter with disabled/enabled cookie support showed 
something interesting... testing with 20 groups of 20 thread, with 2 pages 
requested for each execution (= 800 page requests + 2000 requests for all the 
static content) showed this result:
- with cookies disabled (that means that each request is interpreted as a 
separate sessions): 800 sessions open and memory bumped from 40MB to 375MB in a 
few seconds
- cookie enabled (sessions reused for each group): 20 open sessions and memory 
stable at 65MB max

In a high traffic site this makes a lot of difference, memory usage is at least 
500% of what it could be without the need for http session creation. Session 
timeout is usually in the order of 30 minutes, so a similar number of 
concurrent sessions is not so high at all... and the worst thing is that memory 
usage doesn't seem to easily decrease at expiring of sessions...



> drop HTTP session usage in public instance
> ------------------------------------------
>
>          Key: MAGNOLIA-623
>          URL: http://jira.magnolia.info/browse/MAGNOLIA-623
>      Project: magnolia
>         Type: Improvement

>   Components: core
>     Versions: 2.1.3
>     Reporter: Andreas Brenk
>     Assignee: Sameer Charles
>     Priority: Critical
>      Fix For: 3.0 RC2

>
>
> The usage of the HTTP session for storing the JCR Session and Magnolia 
> HierarchyManager is a major scalability blocker. I think it would be best to 
> use an object pool of the resources needed for anonymous access to the 
> repository (after verification that it is expensive to create those, if not 
> they should just be created on demand and stored in the request or a 
> ThreadLocal or so.). Anonymous access to the public instance should not 
> create any HTTP sessions.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.magnolia.info/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


----------------------------------------------------------------
for list details see
http://www.magnolia.info/en/magnolia/developer.html
----------------------------------------------------------------

Reply via email to