Forum Discussion

ZAHIDHASEEB's avatar
ZAHIDHASEEB
Icon for Nimbostratus rankNimbostratus
Nov 26, 2019

Can F5 load balancer disconnect socket after each transaction

Can F5 load balancer is capable to disconnect socket between F5 load balancer and servers behind load balancer after each transaction ?

13 Replies

  • Are you talking about removing established TCP connection after HTTP Request/Response ? There may be ways to achieve this but this is inefficient utilization of resources. Setting up and tearing down TCP connections consumes resources on the device. If you can explain the end goal (any specific application performance requirement), someone might be able to suggest a better way of achieving it.

    • ZAHIDHASEEB's avatar
      ZAHIDHASEEB
      Icon for Nimbostratus rankNimbostratus

      Actually both servers behind F5 load balancer hosted services (tcp and http) on different ports. http services are getting load balancer. However the tcp services keep established the connections which stick the request coming on only one node and don't utilized the other server behind F5 load balancer.

  • There are ways to achieve this.

     

    One way would be to use an irule to change any Connection header in the request to Connection: Close, or insert that header if it is missing.

     

    The oneconnect profile applied to a virtual server with a http profile detaches the client-side connection from the server-side connection after every HTTP request/response - the server side connection is not closed, but will be reused by a future request. This is most commonly used to ensure that every HTTP request/response requires a fresh load-balancing decision. However, it is not suitable if the web server makes assumptions about the identity of the client at the other side of the connection (such as NTLM authentication).

  • My question is simple. I have non-http transactions request from clients. The problem is that F5 load balancer make a persistent connection with one server while the other server is sitting idle.

    • Simon_Blakely's avatar
      Simon_Blakely
      Icon for Employee rankEmployee

      It is not a simple question with the information we have available.

       

      Are all the transactions passed through a single connection on the client side ?

      What about the server side?

       

      What is the configuration of the virtual server?

       

       

    • Simon_Blakely's avatar
      Simon_Blakely
      Icon for Employee rankEmployee

      What about the pool and persistence profile?

       

      What sort of data is being passed across the virtual?

       

      The server-side will normally only close if the client side is closed - this is expected behaviour.

  • 1- What about the pool and persistence profile?

    is there any default persistence setting?

    2- What sort of data is being passed across the virtual?

    tcp transactions passes on virtual server

    3- The server-side will normally only close if the client side is closed - this is expected behaviour.

    So you say that client has to close the connection and there is no configuration on F5 LB ? means how then we can load balance/round robin the transactions which are getting a persistent connection.