Learn F5 Technologies, Get Answers & Share Community Solutions Join DevCentral

Filter by:
  • Solution
  • Technology
Answers

LTM default behavior on long lived tcp connection when server went down

Hi all,

We are planning to use F5 LTM to enhance the availability of the overall solution. In our application, the client uses long-lived TCP connection to connect to the server and once the connection is established the client will send multiple asynchronous requests using the same connection (unlike HTTP protocol). This connection will not be closed unless the server or the client decides to terminate. Now, let's put F5 LTM between the client and the server. The plan is to have multiple application server nodes behind LTM to enhance the availability.

My question is.. When the client is communicating with the server via LTM, and then TCP connection between the LTM and the server application gets disconnected (due to server application process crashed, network between LTM and server disconnected, the whole application server box shuts down, etc), will LTM detect this connection failure and automatically disconnect the connection between the LTM and the client? In other words, when this happens will client notice there is a connection failure and it needs to try to re-establish the connection?

I assume this question is not specific for long-lived TCP connection only, but also to other protocol (such as HTTP). Has anyone checked what happens to the browser if the web server suddenly goes down when the request from the browser is being processed (the connection between browser-LTM-webserver is still established)? Will the browser get 'connection reset' error too?

0
Rate this Question

Answers to this Question

placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

Hi Suhe Arie,

You can choose the action the F5 will undertake when "the backend server goes down". I believe you can set this through the 'Action On Service Down' setting on the pools.

In a standard loadbalancing virtual server scenario, there are a few usecases you need to take into account, then influence them to the best of the F5's possibilities:

  • the backend server resets the connection => the F5 will reset the client's frontend connection as well
  • the backend server cleanly terminates the connection => the F5 will cleanly terminate the client's frontend connection
  • the backend server no longer response => the connection will timeout, and upon timeout, the F5 will reset the client's frontend connection
  • the client cleanly closes the frontend connection => the F5 will cleanly close the backend connection
  • the client resets the frontend connection => the F5 will reset the backend connection

Kind regards,

Thomas Schockaert

1
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER
0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

Hi Thomas,

Thank you for your answer. This matches with my previous assumption on how the load balancer should behave. I have used other load balancer products in the past (mostly software based). I never tried F5 LTM before and have some difficulties setting up the LTM VE.

Do you know whether this information (LTM behavior upon connection failure) is available anywhere on the official F5 LTM product documentation? I will need this to give certain level of assurance to the stakeholders. I did some searches, but found nothing really relevant to this topic so far.

0
placeholder+image
USER ACCEPTED ANSWER & F5 ACCEPTED ANSWER

I think the concepts guide for LTM explains that. You can download a copy from tech.f5.com

H

0