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