PROBLEM
We are trying to use session replication with ASS 4.0.5 but running into significant
performance problems. Specifically, under load we are seeing a 3-4x cpu increase in cpu on
the app servers as a result of them trying to do session replication.
Unfortunately the application is pretty old and somewhat badly written. As a result there
are some pretty large object graphs in the user's session. We are trying to remove
those in order to be as session replication friendly as possible. In addition the app
repeatedly stores the same attribute value back into the session rather than checking if
the value already exists there (and avoiding an unnecessary session.set). We could
possibly re-factor this but its going to be a lot of work..
There is a possibility of upgrading to a later version of the AS, but not in the short
term and so we would really like to get this working with our current version - AS 4.0.5.
BASIC SESSION REPLICATION UNDERSTANDING
Can I get some info on the basic operation of the session cache replication?
(Please note we are using AS 4.0.5 so the info I require must be specific to that version,
since I imagine many improvements have been done since that version)
For example, (for the moment without a UseReplQueue queue setup) does replication occur
every time the app sets a session attribute? And when it replicates does it then replicate
just the value of the attribute that was just set or does it replicate the entire
user's session at that point.
OPTIMAL CONFIGURATION
here is the best guess settings we have for the session replication cache
(org.jboss.cache.aop.TreeCacheAop)
We use buddy replication with 1 backup node for each node.
REPEATABLE_READ
can we use 'NONE'. Will this help performance? What are the semantics of NONE for
a session repl cache?
REPL_ASYNC
This should be the best choice - right?
false
This should be the best choice - right?
Changes we are considering -
OPTIMISTIC
Will this help the cpu overhead?
true
10000
2000
We are considering to try this since our app updates the same value into the session
repeatedly and often. Short of refactoring the app I am hoping maybe the queue mechanism
may help?
OTHER SUGGESTIONS
Are there any other suggestions that might help us reduce this very significant overheard
of using session replication
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4148188#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...