Тайм-аут балансировщика нагрузки Apache

Тайм-аут балансировщика нагрузки Apache

У нас есть два httpdсервера, работающих RHEL 6за аппаратным балансировщиком нагрузки.

В нашем журнале ошибок httpd появляются ошибки тайм-аута.

[Fri Feb 19 15:06:49.823372 2016] [proxy_http:error] [pid 15760] (70007)The timeout specified has expired: [client 172.X.X.187:48453] AH01095: prefetch request body failed to 172.X.X.210:21080 (host-x15) from 172.X.X.187 (), referer: http://www.example.com.au/secure/Book?cb=30938956188 [Fri Feb 19 15:07:37.113599 2016] [proxy_http:error] [pid 16312] (70007)The timeout specified has expired: [client 172.X.X.187:51600] AH01095: prefetch request body failed to 172.X.X.209:21080 (host-x14) from 172.X.X.187 (), referer: http://www.example.com.au/secure/Book?cb=182574845707719466206

В нашем случае apacheработает как load balancerиспользующий mod_balancer_mananger. tomcatЗа apache load balancer.

Меня беспокоят timeoutошибки, которые я вижу. Не apacheобрываются ли мои соединения случайно. В приведенном выше сценарии 172.X.X.187это ip-адрес аппаратного балансировщика нагрузки. 172.X.X.210/209 это IP-адреса серверов приложений, которые находятся за apache load balancer.

Проверяя систему, я вижу множество подключений TIME_WAIT с IP-адреса балансировщика нагрузки. Иногда это более 600 подключений.

$ sudo netstat -anp | grep -i time | grep 172.X.X.187  | wc -l
  621

$ sudo netstat -anp | grep -i estab  | wc -l
  681

Наш лимит подключений исчерпан из-за параметров ядра TCP по умолчанию, как указано в этомhttps://stackoverflow.com/questions/410616/увеличение-максимального-числа-tcp-ip-подключений-в-linux

$ cat /proc/sys/net/ipv4/tcp_fin_timeout
 60
$ cat /proc/sys/net/ipv4/ip_local_port_range
32768   61000
$ cat /proc/sys/net/ipv4/tcp_max_syn_backlog
4096

apache load balancerконфигурация следующая

BalancerMember host-x14:21080 min=1 max=1000 loadfactor=1  retry=1 timeout=240 route=host-x4
BalancerMember host-x15:21080 min=1 max=1000 loadfactor=1  retry=1 timeout=240 route=host-x5

Пожалуйста, предложите. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Связанный контент