HAProxy-определенный URI
Так что моя конфигурация HAProxy похожа на эту.
listen webaustin 0.0.0.0:80
mode http
timeout connect 12000
timeout server 60000
timeout queue 120000
balance roundrobin
option httpchk GET /index.html
log global
option httplog
option dontlog-normal
server web1 10.10.10.101:80 maxconn 600 check fall 10
server web2 10.10.10.102:80 maxconn 600 check fall 10
server web3 10.10.10.103:80 maxconn 600 check fall 10
server web4 10.10.10.104:80 maxconn 600 check fall 10
Что очень хорошо работает для наших систем: четыре серверных веб-сервера, один веб-сервер внешнего интерфейса, тайм-ауты для которых являются разумными.
Моя проблема в том, что у меня есть один URL, который должен быть значительно более длительным. Это очень тяжелая задача, которая занимает много времени на сервере.
Есть ли способ изменить переменные тайм-аута для одного URL?
1 ответ
Создать один интерфейс для 2 бэкэндов
frontend webserver
bind :80
option forwardfor
acl bk_slow url_dir /slow_uri/
use_backend slow-pool if bk_slow
default_backend default-pool
backend default-pool
balance ...
option httpchk ...
server ...
backend slow-pool
balance ...
option httpchk ...
server ...
timeout client 600s
timeout server 600s
Я думаю, что url_dir - лучший вариант для этого, но вы можете проверить path_sub/reg или url_sub / reg ( http://code.google.com/p/haproxy-docs/wiki/MatchingLayer7)