cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1538
Views
0
Helpful
4
Replies

inservice standby & sticky timer

Jeroen Huysmans
Level 1
Level 1

Hello,

imagine the following setup:

sticky ip-netmask 255.255.255.255 address source stick_serverfarm_A

  timeout 10

  serverfarm serverfarm_A

serverfarm host serverfarm_A

  rserver server1

    inservice

  rserver server2

    inservice standby

the inservice standby command accomplishes the following:

  • Tears down existing non-TCP connections to the server

  • Allows current TCP connections to complete

  • Allows new sticky connections for existing server connections that match entries in the sticky database

  • Load balances all new connections (other than the matching sticky connections mentioned above) to the other servers in the server farm

  • Eventually takes the server out of service

I have a question about "Allows new sticky connections for existing server connections that match entries in the sticky database".

Connections that match an entry in the sticky database which sticks them to server2 will be delivered to server2.

What happens with the "time-to-expire" counter? Will the expire value for the sticky entry to the server "inservice standby" be reset and restart with the configured timeout value?

I don't find any answer in the documentation for this question. If the counter is reset even when the rserver is in inservice standby, then the possibility exists the rserver will never be "empty"... (especially when the timeout value is eg 24h)

regards,

Jeroen

ACE10

Version A2(2.4) [build 3.0(0)A2(2.4)]

1 Accepted Solution

Accepted Solutions

Kanwaljeet Singh
Cisco Employee
Cisco Employee

Hi Joroen,

Please see below a small test i performed in my lab.

switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3579           -
Total Sticky Entries: 1

As you can see above the sticky entry is with server A and below you can see counter value decreasing.


switch/Kanwal# sh sticky database
sticky group : STICKY_SFARMtype         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3559           -
Total Sticky Entries: 1


switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3558           -
Total Sticky Entries: 1


switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM

type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3556           -
Total Sticky Entries: 1


switch/Kanwal# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
switch/Kanwal(config)# do sh running-config serverfarm
Generating configuration....

serverfarm host A
  rserver A
    inservice
  rserver G
    inservice

switch/Kanwal(config)# serverfarm A
switch/Kanwal(config-sfarm-host)# rserver A
switch/Kanwal(config-sfarm-host-rs)# inservice standby
switch/Kanwal(config)# exit

I put the server in standby and below you can see the counter still decreasing.

switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3504           -
Total Sticky Entries: 1
switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM

type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3502           -
Total Sticky Entries: 1
switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3501           -
Total Sticky Entries: 1
switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM

type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3500           -
Total Sticky Entries: 1

Then i refreshed the page and you can see the value was reset.

switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3592           -
Total Sticky Entries: 1


So it does reset the time-to-expire value and start over even if the server is in standby. I hope that answers your question. Let me if you have any questions.

Regards,

Kanwal

View solution in original post

4 Replies 4

Kanwaljeet Singh
Cisco Employee
Cisco Employee

Hi Joroen,

Please see below a small test i performed in my lab.

switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3579           -
Total Sticky Entries: 1

As you can see above the sticky entry is with server A and below you can see counter value decreasing.


switch/Kanwal# sh sticky database
sticky group : STICKY_SFARMtype         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3559           -
Total Sticky Entries: 1


switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3558           -
Total Sticky Entries: 1


switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM

type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3556           -
Total Sticky Entries: 1


switch/Kanwal# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
switch/Kanwal(config)# do sh running-config serverfarm
Generating configuration....

serverfarm host A
  rserver A
    inservice
  rserver G
    inservice

switch/Kanwal(config)# serverfarm A
switch/Kanwal(config-sfarm-host)# rserver A
switch/Kanwal(config-sfarm-host-rs)# inservice standby
switch/Kanwal(config)# exit

I put the server in standby and below you can see the counter still decreasing.

switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3504           -
Total Sticky Entries: 1
switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM

type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3502           -
Total Sticky Entries: 1
switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3501           -
Total Sticky Entries: 1
switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM

type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3500           -
Total Sticky Entries: 1

Then i refreshed the page and you can see the value was reset.

switch/Kanwal# sh sticky database


sticky group : STICKY_SFARM
type         : IP
timeout      : 60            timeout-activeconns : TRUE
  sticky-entry          rserver-instance                 time-to-expire flags
  ---------------------+--------------------------------+--------------+-------+
  64.103.236.75         A:0                              3592           -
Total Sticky Entries: 1


So it does reset the time-to-expire value and start over even if the server is in standby. I hope that answers your question. Let me if you have any questions.

Regards,

Kanwal

Hello,

is this wanted behaviour?

When you put an rserver in "inservice standby", the sticky timer possibly will never expire... Meaning the rserver can't be shutdown gracefully...

I'm expecting such an issue, as we have a much higher timeout value configured, which is currently needed to facilitate signed on users on webservices.

regards,

Jeroen

Hi Jeroen,

This does seem to be the expected behavior. There is no other way. If user comes again and it matches the entry , the time to expire will reset again. If a user is connected to a server after matching the sticky database entry, if the time to expire is not reset at that point and while user is working if connection drops, that won't be a good thing either.

In your case due to a high time out value the probability of sticky never expiring is also the possibility. You can either reduce the time to expire value or you can clear the entries manually.

Regards,

Kanwal

Kanwaljeet Singh
Cisco Employee
Cisco Employee

Hi Jeroen,

And of course this is applicable to new connections coming to  the ACE and matching the sticky database entry.

Regards,

Kanwal