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
>

Reply via email to