04-12-2013 04:43 AM
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)]
Solved! Go to Solution.
04-17-2013 06:51 PM
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
04-17-2013 06:51 PM
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
04-17-2013 09:21 PM
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
04-17-2013 09:34 PM
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
04-17-2013 06:56 PM
Hi Jeroen,
And of course this is applicable to new connections coming to the ACE and matching the sticky database entry.
Regards,
Kanwal
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide