03-28-2017 11:26 AM
We have client connections (from a single IP) that have multiple sessions hitting a VIP. I'd like to be able to spread those sessions across the real servers in the VIP. Currently, we have the VIP predictor as least-conn and sticky (15 min age), with 2 real servers bound to it.
Example: Customer A has 10 application sessions connecting to the VIP from a single public IP. How can each of those 10 sessions be balanced across the 2 real servers?
Currently, all 10 sessions are placed on the same real server. The sessions are constantly active so if we take RS1 out of the VIP for maintenance, RS2 will load up on sessions. When RS1 is returned to the VIP, it does not balance out the sessions.
The client sessions from that single IP are stuck to RS2, and as long as they remain active and their session does not timeout, they will remain on RS2 in definitely.
Running version: 12.4.00vT403
server virtual vserver1
port ssl sticky
port ssl ssl-terminate www.someurl.org
bind ssl RS2 http RS2 http
03-31-2017 06:43 AM
Do you know if the client are using HTTP 1.1 pipelining, if they are then most likely the client will only create a single TCP connection to the VIP and as such this will result in all requests going to the same server as there is only one session.
Also have you tried round-robing predictor, as long as new TCP session is established for each connection (SYN) then this mean that each new session will be sent to the next real server
It may be useful to try running debug-filter on the ADX then you should be able to capture the sessions to the VIP and to real servers this may give you a better idea what exactly is going on and if each new connection creates a new session (SYN, SYN ACK, ACK)
Hope this helps