Hi,

We want to maintain stickiness to a backed server based on host header so
"balance hdr(host)" works pretty well for us, however as soon at the backend
hits max connection, requests pile up in the queue eventually timeout with a
503 and ­sQ in the logs. Is there a way to redispatch the requests to other
servers ignoring the persistence on queue timeout?

My config:

frontend test
        bind *:7444
        mode http
        log global
        option httplog
        capture request header host len 32
        default_backend test_backend

backend test_backend
        balance hdr(host)
        server wsgi_11 qa-vm01:4180 maxconn 5 check inter 30000
        server wsgi_22 qa-vm01:4180 maxconn 2 check inter 30000

Logs:
Aug 29 07:32:21 qa-vm02 haproxy[24532]: 172.27.202.12:17288
[29/Aug/2013:07:32:11.466] eos test_backend/wsgi_11 0/10000/-1/-1/10000 503
212   sQ-- 6/6/6/5/0 19/0 {qa-vm02:7300|||||||} "GET /wsgi/print_headers.py
HTTP/1.1"
Aug 29 07:32:21 qa-vm02 haproxy[24532]: 172.27.202.12:17289
[29/Aug/2013:07:32:11.467] eos test_backend/wsgi_11 0/10000/-1/-1/10000 503
212   sQ-- 5/5/5/5/0 20/0 {qa-vm02:7300|||||||} "GET /wsgi/print_headers.py
HTTP/1.1"
Aug 29 07:32:21 qa-vm02 haproxy[24532]: 172.27.202.12:17289
[29/Aug/2013:07:32:11.467] eos test_backend/wsgi_11 0/10000/-1/-1/10000 503
212   sQ-- 5/5/5/5/0 20/0 {qa-vm02:7300|||||||} "GET /wsgi/print_headers.py
HTTP/1.1"


Thanks
Sachin


Reply via email to