Re: slowly move connections away from failed real server to remaining real server.
Hello Shawn Thank you for your reply. It is pretty much a verification of what we thought this end. Ill go back to the customer and let them know what Microsoft suggest is not possible. Andruw Smalley Loadbalancer.org Ltd. www.loadbalancer.org +1 888 867 9504 / +44 (0)330 380 1064 asmal...@loadbalancer.org Leave a Review | Deployment Guides | Blog On 14 February 2018 at 17:55, Shawn Heiseywrote: > On 2/13/2018 7:49 AM, Andrew Smalley wrote: >> We have had a request and not sure if there is any way to implement this. >> >> Simply think of two real servers being loadbalanced. one fails all the >> connections are moved to the remaining server overloading it. >> >> What we want is for the traffic from the failed real server to be >> moved to the remaining real server without overloading it. IE Move a >> few connections at a time so the last server is not overloaded. > > The following is my understanding of how things work and what you have > said. If I have made any errors, I hope somebody will point them out. > > As far as I am aware, there is no way to "move" an existing connection > from one backend server to another. That would require special support > from both haproxy and the back end software. To my knowledge, that > capability does not exist. So existing connections at the moment of > failure are going to get closed down and the application (which may be a > browser) will need to try again. > > There isn't anything gradual about load shifting in the event of a > failure. Existing connections will be dropped and new connections will > be sent to whatever servers remain. > > When planning your capacity, it's prudent to take failures into account. > Failures *are* going to happen. They might be unplanned, such as a > motherboard failure or a datacenter outage, or they may be planned, so > you can upgrade software on the back end. > > If one server failing means that there is not enough remaining capacity > to handle the load, then you need more capacity, which may require more > servers. Ideally the remaining servers would handle the load without > users ever noticing any change, but in many environments it is > acceptable for performance to be a little worse until the failed server > is returned to service. > > Thanks, > Shawn >
Re: slowly move connections away from failed real server to remaining real server.
On 2/13/2018 7:49 AM, Andrew Smalley wrote: > We have had a request and not sure if there is any way to implement this. > > Simply think of two real servers being loadbalanced. one fails all the > connections are moved to the remaining server overloading it. > > What we want is for the traffic from the failed real server to be > moved to the remaining real server without overloading it. IE Move a > few connections at a time so the last server is not overloaded. The following is my understanding of how things work and what you have said. If I have made any errors, I hope somebody will point them out. As far as I am aware, there is no way to "move" an existing connection from one backend server to another. That would require special support from both haproxy and the back end software. To my knowledge, that capability does not exist. So existing connections at the moment of failure are going to get closed down and the application (which may be a browser) will need to try again. There isn't anything gradual about load shifting in the event of a failure. Existing connections will be dropped and new connections will be sent to whatever servers remain. When planning your capacity, it's prudent to take failures into account. Failures *are* going to happen. They might be unplanned, such as a motherboard failure or a datacenter outage, or they may be planned, so you can upgrade software on the back end. If one server failing means that there is not enough remaining capacity to handle the load, then you need more capacity, which may require more servers. Ideally the remaining servers would handle the load without users ever noticing any change, but in many environments it is acceptable for performance to be a little worse until the failed server is returned to service. Thanks, Shawn
Re: slowly move connections away from failed real server to remaining real server.
Hello Moemen Thank you for your reply. Indeed we have already thought of the MAXCONN values. Any other thoughts? The aim is to move clients from a failed server slowly much like the feature where a real server comes back online and slowly the weight is raised until all connections are on the working real server. Andruw Smalley Loadbalancer.org Ltd. www.loadbalancer.org +1 888 867 9504 / +44 (0)330 380 1064 asmal...@loadbalancer.org Leave a Review | Deployment Guides | Blog On 13 February 2018 at 17:21, Moemen MHEDHBIwrote: > > > On 13/02/2018 15:49, Andrew Smalley wrote: >> Hi, > Hi Andrew, > >> >> We have had a request and not sure if there is any way to implement this. >> >> Simply think of two real servers being loadbalanced. one fails all the >> connections are moved to the remaining server overloading it. >> >> What we want is for the traffic from the failed real server to be >> moved to the remaining real server without overloading it. IE Move a >> few connections at a time so the last server is not overloaded. >> >> Anyone know how this can be done? > > Setting the right maxconn value for the server would not be sufficient > here ? So the extra traffic due to the failed server will be queued. > > >> >> >> Andruw Smalley >> >> Loadbalancer.org Ltd. >> >> www.loadbalancer.org >> +1 888 867 9504 / +44 (0)330 380 1064 >> asmal...@loadbalancer.org >> >> Leave a Review | Deployment Guides | Blog >> > > -- > Moemen MHEDHBI > >
Re: slowly move connections away from failed real server to remaining real server.
On 13/02/2018 15:49, Andrew Smalley wrote: > Hi, Hi Andrew, > > We have had a request and not sure if there is any way to implement this. > > Simply think of two real servers being loadbalanced. one fails all the > connections are moved to the remaining server overloading it. > > What we want is for the traffic from the failed real server to be > moved to the remaining real server without overloading it. IE Move a > few connections at a time so the last server is not overloaded. > > Anyone know how this can be done? Setting the right maxconn value for the server would not be sufficient here ? So the extra traffic due to the failed server will be queued. > > > Andruw Smalley > > Loadbalancer.org Ltd. > > www.loadbalancer.org > +1 888 867 9504 / +44 (0)330 380 1064 > asmal...@loadbalancer.org > > Leave a Review | Deployment Guides | Blog > -- Moemen MHEDHBI
slowly move connections away from failed real server to remaining real server.
Hi, We have had a request and not sure if there is any way to implement this. Simply think of two real servers being loadbalanced. one fails all the connections are moved to the remaining server overloading it. What we want is for the traffic from the failed real server to be moved to the remaining real server without overloading it. IE Move a few connections at a time so the last server is not overloaded. Anyone know how this can be done? Andruw Smalley Loadbalancer.org Ltd. www.loadbalancer.org +1 888 867 9504 / +44 (0)330 380 1064 asmal...@loadbalancer.org Leave a Review | Deployment Guides | Blog