Calculating HealthChecker Maximum
The following formula can help you compute the maximum time in milliseconds it will take HealthChecker to discover failed or disconnected remote nodes:
Max Time = (ping.idletime) + socketConnectCount * [(ping.interval * ping.probes)
+ (socketConnectTimeout * ping.interval)]
Note the following about the formula:
-
The response time to a socket-connection attempt is less than or equal to
(socketConnectTimeout * ping.interval)
. For calculating the worst-case scenario (absolute maximum time), the equality is used. In most real-world situations the socket-connect response time is likely to be close to 0 and the formula can be simplified to the following:Max Time = (ping.idletime) + [socketConnectCount * (ping.interval * ping.probes) + ping.interval]
-
ping.idletime
, the trigger for the full HealthChecker process, is counted once since it is in effect only once each time the process is triggered. -
socketConnectCount
is a multiplier that is in incremented as long as a positive response is received for each socket connection attempt. -
The formula yields an ideal value, since slight variations in actual times can occur.
-
To prevent clients from disconnecting too quickly in a situation where an active server is temporarily disconnected from both the backup server and those clients, ensure that the Max Time for L1->L2 is approximately 8-12 seconds longer than for L2->L2. If the values are too close together, then in certain situations the active server may kill the backup and refuse to allow clients to reconnect.