<a href="http://www.tangosol.com" target="_blank" rel="nofollow">www.tangosol.com</a><br /><a href="http://www.tangosol.com/coherence.jsp" target="_blank" rel="nofollow">Coherence:</a> Easily share live data across a cluster!
Simon Song
Certified Entperise Developer of Websphere
Originally posted by Rob Misek:
Hi Sudharshan,
Unfortunately, that is often what happens in a cluster. When moving from a single server environment to a clustered environment there is typically a performance hit from the disabling of caches. This is due to the added complexity of a clustered environment.
One of the main reasons that people suffer from performance degredation when moving from a single server environment to a clustered environment in WebSphere is that in a clustered WebSphere environment persists the HTTPSessions in the DataBase. That means after every modification to a Session object WebSphere (behind the scenes) makes a DB call to update the DB in synch with the modification to the Session object.
If you want to avoid such a bottleneck I would point you to Tangosol Coherence which has an HTTPSession Replication Module for WebSphere which replicates the Session objects in-memory across the cluster. This avoids the costly DB calls and provides fail-over of the Session data.
Further, Coherence provides the ability to synchronously cache/store data/objects in-memory in a clustered environment. It implements cluster-wide locking and event notification. Replicated and Distributed caching strategies are both supported through a java.util.Map interface.
Later,
Rob Misek
Originally posted by Simon Song:
Another tip is, if you can tolerate certain fail over. You can remove persistent HTTP session, and use session affinity in the dispather.
This will guarantee your user will be rerouted to the same webcontainer in each request.
Don't forget tune the persistent session caches setting, check out redbooks for performance tuning.
Originally posted by Patrick Finnegan:
The other potential solution is don't clone. Set up two independent WebSphere installations and point them both at the same DB2 session database. IHS will still load balance between the two boxes,detect server failures and re-route. One of the major advantages of cloning is work load management for EJBs which you don't have.
I have session persistance enabled and there is no performance degradation under load. See the new tuning guide in the infocentre.
Originally posted by Patrick Finnegan:
Let's say IHS is on Pluto and the WebSphere boxes are on Earth and Mars.
I start my browser which connects to Pluto. IHS redirects to Mars and establishes session affinity with Mars so that all subsequent requests with the same session ID are routed to Mars. Suddenly Mars goes down. IHS detects that Mars is no longer available and re-routes to Earth. WebSphere on Earth checks the session id in the request against it's session id cache. It doesn't exist. It then check's it's session database which it shares with Mars and finds the session object previously stored by Mars and regenerates the session details. If you have more than one WebSphere box then you must have session affinity and persisted sessions.
Simon Song
Certified Entperise Developer of Websphere
Consider Paul's rocket mass heater. |