ltm rule event LB FAILED
iRule(1) BIG-IP TMSH Manual iRule(1)
LB_FAILED
Triggered when the system fails to select a pool or a pool member. or
when a selected resource is unreachable.
DESCRIPTION
LB_FAILED is triggered when LTM is ready to send the request to a pool
member and one hasnaXXt been chosen (the system failed to select a pool
or a pool member), is unreachable (when no route to the target exists),
has reached a queue limit, or is non-responsive (fails to respond to a
connection request).
If the target fails to respond to a connection request, the "Maximum
Syn Retransmissions" option in the TCP profile will affect the amount
of time before LB_FAILED is triggered.
When a client doesn't receive a response to the SYN, there is a defined
algorithm for the specified number of re-tries. First retransmission if
no response is typically 3 seconds, and typical back-off timer
algorithm is to double the wait time after each failed attempt. Most
TCP stacks set Max Syn Retransmits to 5, producing the following
progression and timing out after 93 seconds:
Trying 172.24.2.200... 11:26:24.455153 172.24.2.41.55507 >
172.24.2.200.http: S ... 11:26:27.452465 172.24.2.41.55507 >
172.24.2.200.http: S ... 11:26:33.452465 172.24.2.41.55507 >
172.24.2.200.http: S ... 11:26:45.452465 172.24.2.41.55507 >
172.24.2.200.http: S ... 11:27:09.452481 172.24.2.41.55507 >
172.24.2.200.http: S ... 11:27:57.452466 172.24.2.41.55507 >
172.24.2.200.http: S ... telnet: connect to address 172.24.2.200:
Connection timed out
In past versions, LTM's default TCP profile sets "Maximum Syn
Retransmissions" to 4, so with the default setting, LB_FAILED would be
triggered if server didn't respond in 45 seconds:
1st SYN: 0 2nd SYN: +3 seconds 3rd SYN: +6 seconds 4th SYN: +12
seconds 5th SYN: +24 seconds ====================== LB_FAILED: 45
seconds
Reducing "Maximum Syn Retransmissions" to 2 will result in the trigger
of the LB_FAILED event in 9 seconds, which makes recovery logic in the
LB_FAILED event much more useful as a backup to monitoring.
Examples
when DNS_REQUEST {
if { {[active_members poolName] < 2} } {
pool fallbackPool
}
}
when LB_FAILED {
pool errorPool
}
HINTS
Note: The LB_FAILED event is not triggered for Performance L4 virtual
servers. There is an enhancement request to add this in BZ341776.
Contact F5 Support for additional information.
SEE ALSO
CHANGE LOG
@BIGIP-9.0.0 --First introduced the event. @BIGIP-9.2.2 --First
introduced the event.
BIG-IP 2017-01-31 iRule(1)