Hi list...

I've noticed that the HAProxy processes occasionally jump to 100% cpu load,
while the load before and after these peaks is only 3-5%, and the traffic
is also the same as outside of these cpu-peaks.

I saw a thread about this earlier (april/may), which concluded that there
was a bug, which was fixed in 1.5-dev19. Since we were running dev18 and
also experiencing this issue, we upgraded to dev19.

However, on dev19 I'm also seeing these cpu-load peaks surface a few times
per day.

As a precaution, we have configured nbproc to 7 currently, (8-cores in
these boxes).

I've been able to get some straces on the processes eating 100%, but
usually they drop back to 4% after I start the strace.

I did see large amounts of sequential epoll_wait calls in the processes
with 100% cpu load, and not with the other processes.

epoll_wait(0, {}, 200, 0)               = 0
(repeated 10-15 times)

Haproxy config (edited)


# Defaults Section
defaults
        mode http
        timeout connect 5000ms
        timeout client 500000ms
        timeout server 500000ms
        option splice-auto
        option forwardfor
        option log-health-checks

# Global Options
global
        daemon
        maxconn 50000
        log 192.168.99.10:514 local1 info
        stats socket  /var/run/haproxy.sock uid 0 gid 0 mode 0600 level
admin
        chroot /var/empty/haproxy
        user haproxy
        group haproxy
        nbproc 7
        node HOSTNAME
        spread-checks 5
        listen stats <deleted>

frontend in-10
        bind IPIPIPIP:80 defer-accept
        bind IPIPIPIP:443 ssl crt /etc/haproxy/ssl/CERT.pem defer-accept
ciphers RC4:HIGH:!aNULL:!MD5
        maxconn 100000
        default_backend backend-10
        log global
        mode http
        option httplog
        option dontlog-normal
        acl SITE-DEAD nbsrv(backend-10) lt 1
        redirect location http://we-are-down.site.tld code 303 if SITE-DEAD

backend backend-10
        balance roundrobin
        option http-server-close
        option httpchk GET /test HTTP/1.0\nHost: site.tld\nConnection:
close\n\n
        cookie JSESSIONID prefix
        server server1  IPIPIPIP:80 check inter 20000 fall 5 downinter
30000 maxconn 2000 cookie 4 weight 1
        server server2  IPIPIPIP:80 check inter 20000 fall 5 downinter
30000 maxconn 2000 cookie 5 weight 1
        server server3  IPIPIPIP:80 check inter 20000 fall 5 downinter
30000 maxconn 2000 cookie 6 weight 1
        server server4 IPIPIPIP:80 check inter 20000 fall 5 downinter 30000
maxconn 2000 cookie 0 weight 1
        appsession JSESSIONID len 64 timeout 3h request-learn mode
path-parameters
        option redispatch
        option persist
        contimeout 2000
        log global



-- 
Mark Janssen  --  maniac(at)maniac.nl
Unix / Linux Open-Source and Internet Consultant
Maniac.nl Sig-IO.nl Vps.Stoned-IT.com

Reply via email to