Forum Discussion
Is it possible to distribute multiple HTTP requests that use the same TCP connection?
We have a single client that is doing address validation. The address validation servers are located behind the F5 BigIP LTM. This client is making multiple HTTP requests a second over one TCP connection. The problem is that all of the requests are going to only one node in the Virtual Server due to the fact that the F5 BigIP LTM load balances at the TCP connection level by default. It seems that you can use a OneConnect profile along with an iRule to direct different types of requests to different pools (e.g. www.abc.com/foo1/ goes to pool1 and www.abc.com/foo2/ goes to pool2). Our problem is that all requests will look very similar.
Is there a way to distribute HTTP Requests evenly between all nodes in the Virtual Server even though those requests traverse the same TCP connection? We do not need persistence for this Virtual Server.
4 Replies
- Michael_Yates
Nimbostratus
Hi NGT IT,
If I am reading your question correctly you are wanting to know if multiple requests within the same TCP Connection can be evenly distributed.
The answer to your question is yes, but the behavior that you get is depends upon the context that you are using it.
If you have multiple request from the same client within a TCP Connection, they should all be pinned to the same server through the normal server affinity persistence behavior of the LTM. If you have multiple clients within the same TCP Connection, then the deeper inspection of each request that is performed by the OneConnect Profile will load balance them to different pool members.
I would suggest reviewing the DevCentral Wiki Post for the ">OneConnect Profile. The behavior that I am describing is listed in this Wiki Entry.
Without OneConnect enabled, persistence data is examined only in the first request of a Keep-Alive connection, so if multiple requests are sent on the same clientside Keep-Alive connection, LTM will persist them all to the same destination as the first unless a OneConnect profile is applied (even if logic contained in an iRule dictates otherwise).
When using services like Akamai, where all of your connections appear to be coming from a single TCP Connection is where the OneConnect Profile really shines.
Hope this helps. - Oktay_51229
Nimbostratus
Hi Michael,
Well Is there any way to load balance multpile requests from the same client within a TCP connection? It looks like it is impossible with the oneconnect profile.
Regards, - Oktay_51229
Nimbostratus
Hi Michael,
Well Is there any way to load balance multpile requests from the same client within a TCP connection? It looks like it is impossible with the oneconnect profile.
Regards, - hoolio
Cirrostratus
You should be able to add a OneConnect profile to the VS and select round robin load balancing on the pool to load balance each HTTP request regardless of whether they're made on the same client TCP connection. Worst case, you could set the max reuse on the OneConnect profile to 0, but I don't think this should be necessary.
Aaron
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com