Brilliant Baptiste, thank you. I've setup proper logging and a longer
timeout:
global
user nobody
group nobody
daemon
nbproc 4
maxconn 204800
log /dev/log local0 info
log /dev/log local0 notice
tune.bufsize 16384 # 16k
tune.rcvbuf.server 141312 # 128k
defaults
log global
option httplog
option dontlognull
mode http
backlog 32768
maxconn 204800
timeout connect 120ms # how long to try to connect to a
backend
timeout queue 120ms # how long a request can wait for a
backend before 503ing
timeout server 15s # how long to wait for response from
backend before 503ing
timeout client 60000ms # how long to wait for data from
clients (exchanges)
timeout http-keep-alive 60000ms # how long to keep keepalive sessions
when inactive
option abortonclose
no option forceclose
option http-no-delay
option nolinger
I'm down to 1 or 2 504s in a 1000... It's weird though, doesn't seem to be
making a difference whether I go to 10s or 15, still got these last one or
two pesky 504s. Anything else I could be missing?
On Wed, May 28, 2014 at 10:04 AM, Baptiste <[email protected]> wrote:
> On Wed, May 28, 2014 at 3:56 PM, Jon Bogaty <[email protected]> wrote:
> > Hi Baptiste,
> > I'm sorry, I should clarify, I meant 504. It's really quite prevalent, at
> > least 4/10 at times, sometimes 8/10...
> >
> > I'm using:
> > HA-Proxy version 1.4.24 2013/06/17
> >
> > This is more or less the way the entirety of the configuration is:
> > global
> > user nobody
> > group nobody
> > daemon
> > nbproc 4
> > maxconn 204800
> >
> > tune.bufsize 16384 # 16k
> > tune.rcvbuf.server 141312 # 128k
> >
> > defaults
> > log global
> > option tcplog
> > option dontlognull
> >
> > mode http
> > backlog 32768
> > maxconn 204800
> >
> > timeout connect 120ms # how long to try to connect to a
> > backend
> > timeout queue 120ms # how long a request can wait for
> a
> > backend before 503ing
> > timeout server 120ms # how long to wait for response
> from
> > backend before 503ing
> >
> > timeout client 60000ms # how long to wait for data from
> > clients (exchanges)
> > timeout http-keep-alive 60000ms # how long to keep keepalive
> sessions
> > when inactive
> >
> > option abortonclose
> > no option forceclose
> > option http-no-delay
> > option nolinger
> >
> > frontend openx
> > bind *:9010
> > default_backend bidder9010
> >
> > backend bidder9010
> > balance roundrobin
> > server bid001 10.1.1.50:9010 weight 1 maxconn 51200 check
> > server bid002 10.1.1.112:9010 weight 1 maxconn 51200 check
> > server bid003 10.1.1.113:9010 weight 1 maxconn 51200 check
> > server bid004 10.1.1.114:9010 weight 1 maxconn 51200 check
> > server bid005 10.1.1.115:9010 weight 1 maxconn 51200 check
> > server bid007 10.1.1.117:9010 weight 1 maxconn 51200 check
> > server bid008 10.1.1.118:9010 weight 1 maxconn 51200 check
> > server bid009 10.1.1.119:9010 weight 1 maxconn 51200 check
> > server bid010 10.1.1.120:9010 weight 1 maxconn 51200 check
> > server bid011 10.1.1.127:9010 weight 1 maxconn 51200 check
> > server bid012 10.1.1.128:9010 weight 1 maxconn 51200 check
> > server bid013 10.1.1.126:9010 weight 1 maxconn 51200 check
> > server bid014 10.1.1.203:9010 weight 1 maxconn 51200 check
> > server bid015 10.1.1.204:9010 weight 1 maxconn 51200 check
> > server bid016 10.1.1.205:9010 weight 1 maxconn 51200 check
> >
> > Basically haproxy balances a set of those bidder backends from port 9010
> to
> > 9080... Does that clarify things?
> >
> >
> > On Wed, May 28, 2014 at 9:40 AM, Baptiste <[email protected]> wrote:
> >>
> >> On Wed, May 28, 2014 at 3:31 PM, Jon Bogaty <[email protected]> wrote:
> >> > Hi,
> >> > I have two questions... I am having a lot of problems with 500 errors
> >> > from
> >> > haproxy and I am wondering if these could be two culprits:
> >> >
> >> > Is there an equivalent method for disabling Nagle Algorithm in TCP
> >> > mode?
> >> > I've looked everywhere and it seems that TCP NO DELAY is not a flag
> >> > within
> >> > haproxy. Only http mode seems to include the option.
> >> >
> >> > Could nbproc possibly have a negative effect as opposed to a
> beneficial
> >> > one?
> >> > Is it possible that by setting nbproc to four we're actually creating
> >> > problems with scalability and with the number of concurrent working
> >> > connections?
> >> >
> >> > I can post pieces of my haproxy.cfg if it helps explain how I'm
> building
> >> > out
> >> > the load balancing. I feel like somewhere in my config there's
> something
> >> > incorrectly tuned that's causing connection problems. Any help would
> be
> >> > greatly appreciated.
> >> >
> >> > Thanks!
> >> > Jon
> >>
> >>
> >> Hi Jon,
> >>
> >> Please post at least your HAProxy version, how you built/installed it,
> >> etc...
> >> configuration, logs showing the errors are welcome too.
> >>
> >> Note that HAProxy is not supposed to generate any 500 errors (only
> >> 502, 503, 504)
> >>
> >> Baptiste
> >
> >
>
>
> Could you please turn on "option httplog" and remove the tcplog option?
>
> 504 means the server did not answer fast enough (longuer than the
> timeout server).
> Just increase the timeout server a bit and see what happens.
> We usually set it up to a few seconds (less than 20).
>
> Baptiste
>