Forum Discussion

Grant_Mericle_1's avatar
Grant_Mericle_1
Icon for Nimbostratus rankNimbostratus
May 04, 2016

Can I set up multiple backend connections to a single server for message-based load balancing

I'm using an iRule with message-based load balancing to partition messages on a single TCP connection into two groups. GroupA goes to poolA and GroupB goes to poolB. The LTM will create a backend connection to each server in the respective pool. For my particular application, I believe I could improve performance if I were able to create multiple connections to each server. Is there a way to do this? Ideally, the LTM would create a new backend connection each time I call LB::prime. Unfortunately, this didn't work for me. Any other ideas?

 

2 Replies

  • BinaryCanary_19's avatar
    BinaryCanary_19
    Historic F5 Account
    I think LB::prime (will need to test to confirm) would create a connection only if there isn't already one it can use; what benefit would you gain from additional server-side connections if there are idle connections that the next message can use?
  • In my particular case, the server-side connection is going to a node that belongs to a tightly-coupled cluster. This node performs its own connection load balancing between all members of the cluster. So a single server-side connection is only established with one of the cluster nodes. If I were able to force multiple server-side connections then I could make use of all (or at least more) of the cluster nodes.

     

    In a simpler case, it's reasonable that a multi-threaded server might have improved performance by servicing incoming messages over multiple connections vs. just one.