Thanks for the response pelle,

The haproxy box is running at about 10-15% cpu.

Looking at the TCP Dump, it seems the client is doing 1 or more
TCP_Retransmissions of the incoming request when there is a delay.  Anyone
know why this would happen?

Here is the requested information:
root@haproxy:~# sysctl net.core.somaxconn
net.core.somaxconn = 128
root@haproxy:~# sysctl net.ipv4.tcp_max_syn_backlog
net.ipv4.tcp_max_syn_backlog = 2048

I removed the tcp_tw_recycle, but this did not change anything

Thank you,

Andy



On Thu, Oct 10, 2013 at 1:58 PM, Pär Åslund <psl...@gmail.com> wrote:

> Hi Andy,
>
> Can't see anything wrong with your configuration.
> How about the server running haproxy? anything about that regarding cpu
> etc?
>
> I wouldn't be using net.ipv4.tcp_tw_recycle = 1
> tw_recycle is a bit dodgy and can give some unwanted side-effects.
> tw_reuse = 1 should be sufficient.
>
> How does a tcpdump look? Since you get this issue on the stats get a dump
> on that.
>
>  What setting are there on the box regarding SYN backlog?
> net.core.somaxconn & net.ipv4.tcp_max_syn_backlog
>
> Best regards,
> pelle
>
>
> On Thu, Oct 10, 2013 at 7:16 PM, Andy M. <ajm2...@gmail.com> wrote:
>
>> Hello,
>>
>> I am trying to configure an HAProxy And seem to be running into a problem
>> where the HAProxy will spike.  I have a high throughput server cluster,
>> which will need to handle about 10-20k QPS.  I believe that HAProxy should
>> be able to handle that quite easily from what I have read.  I am running
>> HAProxy on Ubuntu 12.04LTS.  I am running an a Xeon 1270, with 8GB of
>> RAM(Which i believe is all overkill).  I am doing a simple load balance
>> between two or three servers(I have two server clusters, one with two
>> servers, one with three).  I am running 1.4.24.
>>
>> The reason I believe something is wrong with my haproxy is because I can
>> refresh my webpage a few times, and every 4-5 times I will be get a spike
>> around 800ms-3sec to resolve.  This also happens when not hitting my
>> backend server, and instead hitting the HAProxy stats page.  None of my
>> servers are anywhere close to using up their system resources(all below 20%
>> in both memory and CPU).  I don't see much in the syslog that seems wrong
>> other than this message:
>>
>> Oct 10 16:48:28 haproxy rsyslogd-2177: imuxsock begins to drop message
>> 3912 due to rate-limiting
>>
>> I believe that has to do with the logging not being able to keep up,
>> rather than haproxy dropping packets.
>>
>> I was wondering if  there were any suggestions for me to look into to try
>> and fix my problem, or suggest how to configure a HAProxy correctly to be
>> able to handle the load I need(preferably higher than the load I need, as
>> this may increase over time).  I am open to changing operating systems if
>> need be as well.
>>
>> Here are my two config files:
>>
>> global
>>        log /dev/log   local0 info
>>        log /dev/log   local0 notice
>>        maxconn 50000
>>        user y
>>        group y
>>        #debug
>>
>> defaults
>>        log     global
>>        mode    http
>>        option  httplog
>>        option  dontlognull
>>        option  forwardfor
>>        retries 3
>>        option redispatch
>>        option http-server-close
>>        maxconn 30000
>>        contimeout      10000
>>        clitimeout      50000
>>        srvtimeout      50000
>>        balance leastconn
>>
>> listen  c_cluster 255.255.255.146:80
>>         maxconn 30000
>>         server  c1 10.101.13.74:80 maxconn 10000
>>         server  c2 10.101.13.78:80 maxconn 10000
>>         server  c3 10.101.13.82:80 maxconn 10000
>> listen  stats :8888
>>         mode http
>>         stats enable
>>         stats hide-version
>>         stats uri /
>>
>>
>> and
>>
>> # this config needs haproxy-1.1.28 or haproxy-1.2.1
>> global
>>        log /dev/log   local0 info
>>        log /dev/log   local0 notice
>>        maxconn 20000
>>        user y
>>        group y
>>        #debug
>>
>>  defaults
>>        log     global
>>        mode    http
>>        option  httplog
>>        option  dontlognull
>>        option  forwardfor
>>        retries 3
>>        option redispatch
>>        option http-server-close
>>        maxconn 20000
>>        contimeout      10000
>>        clitimeout      50000
>>        srvtimeout      50000
>>        balance leastconn
>>
>> listen  a_cluster 255.255.255.151:80
>>         maxconn 20000
>>         server  a1 10.101.13.68:80 maxconn 10000
>>         server  a2 10.101.13.66:80 maxconn 10000
>> listen  stats :8888
>>         mode http
>>         stats enable
>>         stats hide-version
>>         stats uri /
>>
>>
>> My sysctl.conf has the following changes:
>>
>> fs.file-max = 1000000
>> net.ipv4.tcp_tw_reuse = 1
>> net.ipv4.tcp_tw_recycle = 1
>>
>> Thank you,
>>
>> Andy
>>
>
>

Reply via email to