Thanks all for the detailed explanation. I have leaned many facts from this post. Apologies could not reply immediately as I was on long leave.
Let me brief what I am trying to do now, based on the behavior pattern , each PeopleSoft URL from IE browser opens up 6-7 tcp connections, when we loaded 100 users through HP loarunner via HAProxy , observed that the total TCP ESTABLISHED connections are around 500 to 550 after keep-alive on . I have set maxconn 550 in listen block and increased the syn backlog size in linux kernal as well.when injected around 500 users (around 2500 connections), HAProxy allows 550 connections and rest all getting queued in kernel.whenever there is a logout from users, connection is released from queue. listen http_proxy bind <IP>:<PORT> bind <IP>:<PORT> ssl crt /etc/haproxy/certs/<DNS>.pem maxconn 550 # Allow maximum 550 concurrent connections - 100 sessions backlog 100000 #cookie JSESSIONID sss-443-PORTAL prefix server server1 <weblogic IP>:<HTTP PORT> my questions are ----------------------- 1) Is my approach valid to allow maximum 100 users via HAProxy by queuing rest of the connections in kernel? 2) Observed during queuing that the the inside 100 user transactions are bit slow for login, navigation etc. but without queuing there is no response issue for 100 users. I am not sure if kernel queue affects the response time for established connections ? 3) I suppose, the connections which are in queue will be released upon first in & first out basis 4) sometimes, when user logout from browser, HAProxy does not immediately change the TCP connection from ESTABLISHED status, is there anyway to force the connections to close whenever URL logout is called, so that further connections from queue can be released. 5) when keep-alive is on in HAProxy, observed that even browser clicks on website URL starts a persistent TCP connections, is there anyway to keep a persistent connections only when there is a valid JSESSION ID PS_TOKEN ? other connections without TOKEN/expired token should be closed forcefully. for your information, i have installed SSL in HAProxy. You help would be much appreciated. Regards, Vel Best Wishes, Vel On Tue, Jul 4, 2017 at 1:38 PM, Igor Cicimov <ig...@encompasscorporation.com > wrote: > On Tue, Jul 4, 2017 at 1:34 PM, Velmurugan Dhakshnamoorthy < > dvel....@gmail.com> wrote: > >> Thanks much for detailed explanation. >> >> Once the limit of 100 sessions are reached, note we are talking about *100 >> sessions in Weblogic* and *NOT 100 connections to the backend*, what is >> the Weblogic server going to do? We need to understand what happens on >> Weblogic side once the 101st session is accepted. You get error 500 >> straight away or something else happens? Maybe nothing and the request gets >> dropped after sitting in the Weblogic queue for some time? >> >> [Vel] once the limit(100) is reached in weblogic, 101 user will receive >> error 500, OOM (OutOfMeory) error in weblogic back-end.when there is OOM >> occurs, even connected users responses will be impacted. >> >> Regards, >> Vel >> >> > Well, the biggest issue you have is that number or connections is not the > same as number of sessions. Lets say you have reached your 100 connections > limit which corresponds to 100 sessions in WL and one client's browser > starts closing its connections. For HAP the number of connections will drop > below 100, lets say to 96, and it is possible that in that moment a new > user gets connected which will cause WL to create a new 101th session and > crash. So how are you going to solve this dependency between connections on > the HAP side and sessions in the WL side? > > Another thing is that modern browsers can open up to 6-7 connections to a > single domain name which potentially leaves you with less than 20 users > during the overload period with the limitation of 100 connections in HAP. > Also depending on the users activity, every time the user is active WL will > restart the session timer to 20 min, you might end up with less than 20 > users connected for a long long time. > >