Ubuntu Pound Reverse Proxy Load Balancing Based off active server load

load balancingreverse-proxyUbuntu

I have Pound installed on a loadbalancer. It seems to work okay, except that it randomly assigns the backend server to forward the request to. I've put 1 backend machine under so much load that it went into using swap, and I can't even ssh into it to test this scenareo. I would like the loadbalancer to realize that the machine is overloaded, and send it to a different backend machine. However it doesn't. I've read the man page and it seems like the directive "DynScale 1" is what would monitor this, but it still redirects to the overloaded server. I've also put in "HAport 22" to the backend figuring since I can't ssh in, neither could the loadbalancer and it would consider the backend server dead until it gets rid of the load and responds, but that didn't help either.

If anyone could help with this, I'd appreciate it. My current config is below.

######################################################################
## global options:

User            "www-data"
Group           "www-data"
#RootJail       "/chroot/pound"

## Logging: (goes to syslog by default)
##      0       no logging
##      1       normal
##      2       extended
##      3       Apache-style (common log format)
LogLevel        3

## check backend every X secs:
Alive           5
DynScale        1

Client          1200
TimeOut         1500

# poundctl control socket
Control "/var/run/pound/poundctl.socket"


######################################################################
## listen, redirect and ... to:

## redirect all requests on port 80 to SSL
ListenHTTP
     Address 192.168.1.XX
     Port    80
     Service
          Redirect "https://xxx.com/"
     End
End

ListenHTTPS
     Address 192.168.1.XX
     Port    443
     Cert    "/files/www.xxx.com.pem"
     Service
           BackEnd
                  Address 192.168.1.1
                  Port 80
        HAport 22
           End
           BackEnd
                  Address 192.168.1.2
                  Port 80
        HAport 22
           End
     End
End

Best Answer

According to your timeout setting Pound waits 25 minutes for a response from the back-end. Set it to something lower during your tests, say the default of 15 secs.

Related Topic