Limiting backend connections per node

dormando dormando at
Wed Nov 16 13:10:49 PST 2005

No problem, let me clarify;

>I guess I'm a little confused as to where the problem is.  Perlbal will
>connect to a node until it stops processing requests, yes, but this means
>that Perlbal will only ever have N+1 connections open to each backend,
>where N is the number of MaxClients.
That's exactly how I understand it works.

>This should be ideal, assuming your MaxClients are set to sane values.  If
>you haven't, though, and they're set really high -- then yes, you're going
>to lose performance on those nodes when they get above their limit.
They're not set to sane values :) I have 50 webservers where httpd.conf 
might not even be named httpd.conf right now. Adjusting the MaxClients 
setting across all of my webservers (at the moment) is a huge manual 
production. I've been here about a month and a half and am still busy 
cleaning it up.

>On LiveJournal, if that happens, we just fix the MaxClients for the node
>that is underperforming.  That may be 'annoying' sure, but it's always
>worked for us.
That's totally fine, but changing it for me is nontrivial at the moment. 
If I have to switch back to the old load balancer (which does no client 
buffering), I have to up the maxclients back to 60+ across the backend.

>Oh -- and in case it's not clear: for this behavior to be, you have to
>enable the backend verify and use OPTION requests options ... I forget the
>names offhand but they're in the example configs.
Yup, I have that all set. Only thing I can't set at the moment is the 
persist_backend, but that will be enabled if I can switch the whole 
service over and enable keepalives on the backend (and that perlbal 
supports our backend for persistent connections; I noticed chunked 
encoding short-circuits that).


More information about the perlbal mailing list