Technical Forum
Ask questions. Discover Answers.
cancel
Showing results for 
Search instead for 
Did you mean: 

Client get access from only one node

davidy2001
Cirrus
Cirrus

 

Hello, Client access virtual server via http and can get web page from node: win21 and win22. Based on the below, the connection number increase one by one between both. why most time client get web page from win21? The config ratio between both is also 1:1. Thanks

davidy2001_0-1669320997818.png

 

21 REPLIES 21

Hi @davidy2001 , 
Could you please change statistics types from nodes to pools , reset your statistics and expand your pool to see its members under it and try your tests again: 
such as this : 
Statistics.PNG

Then , Share with me your results to see 
Regards 

_______________________
Regards
Mohamed Kansoh

davidy2001
Cirrus
Cirrus

@Mohamed_Ahmed_Kansoh Thanks for your reply. Good holiday day!

Now it keeps access node win21. Please see the below:

davidy2001_0-1669326448691.png

 

 

 

@davidy2001 ,

why do you configure ratio (1 : 1) as a loadbalancing method over a pool has two members , I think you intend to loadbalance in even manner not ratio. 
I did not perform ratio (1:1) before , I use round robin instead. 
Try it and let me see. 
LB.PNG 

_______________________
Regards
Mohamed Kansoh

@Mohamed_Ahmed_Kansoh I can see config ratio 1:1 and round robin, I did not config ratio and round robin. they are default config. Strange thinng is once client catch node win21, the client keep win21 for long time even if node win21 is disabled. 

Hello @davidy2001 , 
Please send the virtual server Resources : 
VIP Resources.PNG

Regards 

_______________________
Regards
Mohamed Kansoh

@Mohamed_Ahmed_Kansoh Yes. i will

@davidy2001 

Well , I will follow up. 
regards

_______________________
Regards
Mohamed Kansoh

@Mohamed_Ahmed_Kansoh Please see below:

davidy2001_0-1669422768173.png

 

@davidy2001 , 

in this Case , follow @Patrik_Jonsson  workaround he is right  , I did not face this issue before so I suspected that the issue due to persistence , but i see it is not. 
so follow his solution and test it

I will try to apply this too in my lab. 

_______________________
Regards
Mohamed Kansoh

The browser will generally create a connection and then send all requests over that connection. This can make statistics a bit skewed towards one member if there's very little traffic. Which load balancing method are you using on the pool? Do you have an HTTP profile assigned on the VIP?

If you absolutely must have balanced traffic between them and it's an HTTP application I'd pick ie. Load balancing mode Predictive on the pool and then try oneconnect on the server. Please note that oneconnect might make the web server logs look weird if you're not using X-Forwarded-For headers.

Kind regards,
Patrik

@Patrik_Jonsson 

"Which load balancing method are you using on the pool? Do you have an HTTP profile assigned on the VIP?"

its default config. now VIP(floating ip, my understanding) has not setup yet. I am only using one F5. No HTTP profile setup

How are you performing the tests? If you ie. run tests using curl a few times, do you get a different result? Curl does not keep the connection open after making the request. Like I said before, if it''s an HTTP application you can try oneconnect if you absolutely must have even spread between the servers.

Just remember to set the load balancing method to ie. predictive and assign an HTTP profile to the Virtual server. Persistence profile should be set to None.

Kind regards,
Patrik

two nodes win21 and win22 have different webpage(just change default page in iis). when outside user access virtual server via google(repeatedly click on the address), the page that the browser show does not change between the two nodes, meaning the user almost visit one node win21. occasionly visit win22, or vice versa. no any other config on persistence etc

Then please read my first message. Chrome will keep the connection open between requests and the same pool member will get them as the F5 device will map connection 1:1 between frontend and backend. As long as the client side connection does not die, neither does the server side. This won't be a problem when you have more clients contacting the page. 

If you want to validate this you can assign this iRule to the Virtual server:

when HTTP_RESPONSE {
    HTTP::header insert "Connection" "Close"
}

Just don't leave this on the Virtual server when you ship this as it's terribly inefficient. 🙂

Or assign an HTTP profile to the virtual server and then assign a One connect profile (the default will do). Then the F5 device will establish server side connections and keep them open. This will allow you to load balance per request.

Kind regards,
Patrik

Thank you @Patrik_Jonsson for your reply. I tried ie and chrome. both have same issue. and I added iRule you provided above to virtual server. It still cannot resolve the issue. but I am not sure if what i did iRule is correct. anyway thanks

To be honest, I wrote the rule directly here on DC without testing but it should work.

You need to restart your browsers too before testing again since the F5 device caches irules by connection. 

RajaShajeelAhmed
Altocumulus
Altocumulus

Any Presistence profile configure for the VIP?

Its a new F5 without any presistence config

Can you share the resource configuration of the VIP?

Currently there is only one F5 without floating ip (vip) yet

Leslie_Hubertus
Community Manager
Community Manager

Hey @davidy2001  - were you able to get it working after restarting your browsers and trying the fix @Patrik_Jonsson  wrote? If yes, please click Accept as Solution so future users facing the same issue can find a quick resolution. 🙂