04-05-2007 03:51 AM
hi all,
i have configure a global keepalive to check a uri into a server using http and port 81 as shown:
keepalive PreBancs1Keepalive
type http
port 81
method get
uri "HealthPageTest.aspx"
ip address 10.0.207.71
maxfailure 2
active
as the default frequency time is 5 secondes, im still seeing the server down, but when i increased the freq to 10 it came up,
During analysis of keepalive get requests from the content switch to the Health Check page, it would appear that with a keepalive frequency of 5 seconds, the content switch automatically sends a TCP reset 3 seconds after initiating the HTTP keepalive. With a keepalive frequency of 10 seconds the content switch automatically sends a TCP reset 8 seconds after initiating the HTTP keepalive. Is this a configurable value (i.e. the 3 seconds or 8 seconds)? If not what exactly is the algorithm ?
please help me in this issue...
thanks in advance,
hasan odeh
04-05-2007 04:49 AM
hasan,
This is normal behavior:
Unresponsive KALs are failed 2 sec before the next KAL is scheduled.
After 1 failure the service is marked as Dying
The Retry KAL timer begins once a normal KAL has failed.
Description:
Your problem lies in the fact that when a kal is sent it takes longer than 5 or 10 seconds for your server to process the request and return the result. The kal must be processed before another one is sent out so it close the request off 2 seconds before the next kal.
Solution:
Increase the timer 5/10 seconds is to slow, 15/30/60 seconds is far better. Also keep in mind that you could change the get to a head. This will lead to a quicker response from the server.
Remark:
Watch out since you are using a get the page will be hashed and compared, since you are using aspx pages this could lead to failures.
Hope this helped you out,
Dimitri
If you found this post useful don't forget to rate it
04-05-2007 05:06 AM
dear Dimitri,
thanks for the information,
but is there any way to change this behaviour without changing the freq time, because its a very critical server and the customer requiremnt is to make the KAL as fast as possible. maybe to send the keepalive http get after the CSS got response from the last kal ?
or maybee the scripted kal can do it ?
one more question, sometimes i found the http get request is HTTP1.1 and sometimes its HTTP1.0 and the server is only replying on http1.1 ,is this an option in the CSS (if yes how i can change) ?
thanks,
04-05-2007 05:37 AM
Hassan,
The timeout value for a keepalive is related to the configured keepalive frequency.
For versions 7.20.1.04 and greater, the timeout is 2 seconds less than the keepalive
frequency with a minimum of 1 second. From version 5.20 up to
version 7.20.1.04, the timeout is one second less than the keepalive frequency.
If an HTTP persistent keepalive fails to make a persistent connection (http 1.1), then it
attempts to make a non-persistent connection (http 1.0). If the non-persistent
connection succeeds, then the keepalive succeeds. At the next interval, the
keepalive attempts a persistent connection.
overide with "type http persistent"
Again your keepalive is set to quick for http (you could also say that your server is to slow), change the kal type to head or even tcp if you want to use 5 second timer.
Dimitri
04-05-2007 01:04 PM
Dear Dimitri,
thanks a lot for your reply, its very useful for me.
do you have a documents related to these things ? because i want to read it and print it out for the customer.
please send me the url or the document itself
Thanks again,
Hasan
04-05-2007 10:56 PM
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