cancel
Showing results for 
Search instead for 
Did you mean: 

Why am I still seeing new connections connecting to my draining node(s)?

SOLVED
riverbed
Occasional Contributor

Why am I still seeing new connections connecting to my draining node(s)?

(Originally posted July 20, 2006)

1 ACCEPTED SOLUTION

Accepted Solutions
owen
Frequent Contributor

Re: Why am I still seeing new connections connecting to my draining node(s)?

Hi Andrew,

I've updated the reply above as it was incomplete and out-of-date.

Yes - if you are confident that existing sessions have completed, then you can mark the node as 'disabled' and then take it out of service.

In the case where you are using non-unique session persistence keys (for example, the IP address), then a session persistence record can be reused and this means that new sessions may be routed to a draining node.  If possible, use a cookie-based session persistence method as this uniquely identifies a client session.

regards

Owen

View solution in original post

3 REPLIES 3
owen
Frequent Contributor

Re: Why am I still seeing new connections connecting to my draining node(s)?

It's important to clarify exactly how node-draining is handled internally.


Stingray maintains session persistence records, either internally or in client-side cookies.

  • If Stingray receives a request that matches a session persistence record, then it will route that request to the persisted node (even if the node is draining).
  • If Stingray receives a request that does not match a session persistence record, then it will load-balance the request to a node that is not draining, and will create a session persistence record for that request's session

Stingray does not time-out session persistence records:

  • Cookie-based session persistence data will be deleted by the browser when the browser's session ends (e.g. the browser is restarted)
  • Internal session persistence data is discarded when it has not been used for a long period of time, and the session persistence table has filled up (see the Cache size settings in System > Global Settings > Cache Settings)

You need to judge when it is safe to take a node out-of-service, based on your understanding of how long a session should remain idle before it is unneeded.  You can refer to the connection draining report for this information.  When you want to take a node out of service, use the 'Disabled' setting; this prevents Stingray from making any new connections to the node, but allows exisiting connections to complete.

For example:

  • Cookie-based sessions will time out in a controlled fashion; once users complete their transaction and leave your site, they will no longer use the node in question
  • IP-based sessions may not time out properly.  The IP address is generally a poor way to uniquely identify a session because multiple sessions can share the same source IP address

For more details on session persistence, please refer to the document Session Persistence - implementation and timeouts

ajhstn
New Contributor

Re: Why am I still seeing new connections connecting to my draining node(s)?

Hi,

in my case I must have persistence classes, as I continually and getting new connections.. Its been 20-30 minutes now.  So should I simple disable a node instead where I understand, all connections will be dropped, so I can perform maintenance on the node?

owen
Frequent Contributor

Re: Why am I still seeing new connections connecting to my draining node(s)?

Hi Andrew,

I've updated the reply above as it was incomplete and out-of-date.

Yes - if you are confident that existing sessions have completed, then you can mark the node as 'disabled' and then take it out of service.

In the case where you are using non-unique session persistence keys (for example, the IP address), then a session persistence record can be reused and this means that new sessions may be routed to a draining node.  If possible, use a cookie-based session persistence method as this uniquely identifies a client session.

regards

Owen