[ 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
----------------------------------------------------------------