Forum Discussion

rjordan's avatar
rjordan
Icon for Nimbostratus rankNimbostratus
Dec 17, 2012

HTTP request sent to down member

I have several HTTP applicaitons hosted on my LTM running 10.2.1. On one of our pools, the custom HTTP monitors frequently fail on the members. They are legitimate failures, but it seems that requests are still sent to the down member after it is marked down. I think I'm missing some kind of configuration setting somewhere. Here is what I'm doing to test the behavior:

 

  1. I constantly refresh a page on the virtual server that returns the server number. Since the pool is round robin and no one else is hitting it, it just alternates pool members for me.
  2. I break the health check on 10.10.99.60 by stopping the Cold Fusion service and confirm the member is marked down within 21 seconds (interval + timeout).
  3. When the member is marked down,every other request is still sent to 10.10.99.60. The server still responds, but with a 503 error. This still occurs several minutes after the member has been marked down.

Here are the relevant settings:

 

 

monitor http_200status {

 

defaults from http

 

recv "HTTP/1\.(0|1) 200"

 

send "GET /probe/heartbeat.cfm HTTP/1.0\r\nConnection: close\r\n\r\n"

 

 

pool Pool-B {

 

monitor all http_200status

 

members {

 

10.10.99.40:http {}

 

10.10.99.60:http {}

 

}

 

}

 

 

virtual VIP-1 {

 

snat automap

 

pool Pool-B

 

destination 172.16.0.1:http

 

ip protocol tcp

 

profiles {

 

tcp {}

 

}

 

}

 

 

 

 

3 Replies

  • I'd suggest you check the Pool level setting Action on Service Down, the default is None;

     

     

    "None – established connections (and NEW connections through persistence?) continue to be used as long as data is sent and received. Connection management relies on TCP for flows on both sides of the proxy; LTM does not intervene and persistence is maintained. Consider using this if your servers may refuse new connections (including the one used by the assigned Health Monitor) but will continue to service existing ones."

     

     

    I'd suggest you try Reselect (although I think there are some implications that I can't remember). OneConnect also seems to help as well.
  • I did some quick testing and Reselect still sent me to a down member for quite some time after the member was marked down. With OneConnect enabled, my requests were not sent to the down member. I think I'll run some tcpdumps to see what occurs on the client-side and server-side with each action on service down option.

     

    Thanks