Hello,
outline of my problem: I see requests that are closed with termination_status cD
. The number of requests is tied to the value set for configuration item timeout client
(I’ve started with 2000 and getting a high number), setting timeout client 60000
decreased the frequency but seems to be high to me. The HTTP client library is python requests.
haproxy version is 1.8.8
question:
- How much should I be worried about such status considering I got around 10 errors for about 17800 requests per hour.
- Is my configuration wrong ?
- do you have tips to debug such issue ?
here my setup
- haproxy is installed locally on each node (7) that requires external access
- a frontend
fe
is listening in tcp mode and send request to backendbe
- a backend
be
is configured to have 2 backend servers which are squid - application on each node is configured to use http://127.0.0.1:18888 as proxy
overview.
┌───────────────────────────┐ ┌───────────┐
│ ┌─────────────────────┐ │ │ │
│ │ │ │ ┌─────────────► squid-1 ├─────────►
│ │ local application │ │ │ │ │
│ │ │ │ │ └───────────┘
│ └─────────┬───────────┘ │ │
│ │ │ │ ┌───────────┐
│ ┌─────────▼───────────┐ │ │ │ │
│ │ haproxy │ │ │ │ squid-2 ├──────────►
│ │ (localhost:18888) ├──┼───────┴─────────────► │
│ └─────────────────────┘ | └───────────┘
└───────────────────────────┘
config excerpt:
defaults
log global
maxconn 40000
mode tcp
option dontlognull
option redispatch
option tcplog
option log-health-checks
retries 3
timeout client 60000
timeout connect 10000
timeout queue 30000
timeout server 90000
timeout check 2000
default-server inter 1s fall 3 rise 2
...
frontend fe
mode tcp
bind 127.0.0.1:18888
default_backend be
...
backend be
mode tcp
balance roundrobin
option tcplog
option tcp-check
tcp-check connect
server squid-1 squid-1:8888 check
server squid-2 squid-2:8888 check
Thanks