2

I have some doubts on the performance of clustering and session management in load balanced environment. Here are my questions:

  • What are the drawbacks of sticky-sessions and session replication. The cluster will contain 4 nodes, but many concurrent user sessions may be expected.
  • What is the heavy load performance of both solutions?
  • Have anyone used any of them in a production environment?
  • How about scalability?
  • If using persistent shared sessions - where to store the state to achieve a possibly fast and stable solution?
  • Have you got any experience with session sharing (in external memcache, database etc.) in a big scale?

Thanks for any advice

user76591
  • 21
  • 2

2 Answers2

1
  • The drawback of sticky-sessions is that with a growing number of nodes (in the range of > 100, > 1000) the probability of failure increases. Then it's preferable that it doesn't matter which node serves the request. However there are issues that have to be solved with sticky sessions differently, which of course depends on the requirements and the application (examples are session synchronization, preventing double submits, redirect-after-post etc.). Most often my own preference is to use sticky sessions as long there are a limited number of nodes. For 4 nodes personally I'd recommend using sticky sessions.
  • We have used sticky-sessions and session replication via memcached-session-manager in production environments. memcached-session-manager was developed during the relaunch of tchibo.de (one of the biggest ecommerce-sites in germance), with the goal of both performance and scalability.
  • We chose sticky-sessions for this application
    • because of better performance
    • the customer-requirements opted for sticky-sessions
    • the used web-framework was better suited for sticky-sessions.
0

Its not this or that, if the application requires both then you have to use both. Clustering is to manage the load while session affinity is used to protect the data of the user if a failure happens on a node.

Cite this example, if you are working a node and there is no sticky session and your node crashes, clustering will make sure you get to see the page but your current working session will be lost.

Liam
  • 101
  • 3