在具有多个后端的 apache 反向代理中请求需要很长时间

Requests take long time in apache reverse proxy having multiple backends

我正在使用 Apache 2.2.34 作为反向代理服务器。后端有 10 多个。在给定时间,只有 一个后端服务器工作 并且它们都 work/enabled 以循环方式工作。 虚拟主机配置类似于以下内容。

<Proxy balancer://AWSELB>
BalancerMember https://backendEC2_1:443/ retry=60
BalancerMember https://backendEC2_2:443/ retry=60
BalancerMember https://backendEC2_3:443/ retry=60
BalancerMember https://backendEC2_4:443/ retry=60
BalancerMember https://backendEC2_5:443/ retry=60
BalancerMember https://backendEC2_6:443/ retry=60
BalancerMember https://backendEC2_7:443/ retry=60
BalancerMember https://backendEC2_8:443/ retry=60
BalancerMember https://backendEC2_9:443/ retry=60
BalancerMember https://backendEC2_10:443/ retry=60    
</Proxy>
ProxyPass / balancer://AWSELB/ forcerecovery=Off timeout=5
ProxyPassReverse / https://backendEC2_1:443/
ProxyPassReverse / https://backendEC2_2:443/
ProxyPassReverse / https://backendEC2_3:443/
ProxyPassReverse / https://backendEC2_4:443/
ProxyPassReverse / https://backendEC2_5:443/
ProxyPassReverse / https://backendEC2_6:443/
ProxyPassReverse / https://backendEC2_7:443/
ProxyPassReverse / https://backendEC2_8:443/
ProxyPassReverse / https://backendEC2_9:443/
ProxyPassReverse / https://backendEC2_10:443/

目前我已经在virtual worker中设置了以上参数并使用了重试参数。使用这些设置,请求会被切断,但大多数情况下服务页面最多需要 15 分钟。
给定场景的最佳虚拟主机配置是什么?

以下配置对我有用。

<Proxy balancer://AWSELB>
BalancerMember https://backendEC2_1:443 connectiontimeout=1
BalancerMember https://backendEC2_2:443 connectiontimeout=1
BalancerMember https://backendEC2_3:443 connectiontimeout=1
BalancerMember https://backendEC2_4:443 connectiontimeout=1
BalancerMember https://backendEC2_5:443 connectiontimeout=1
BalancerMember https://backendEC2_6:443 connectiontimeout=1
BalancerMember https://backendEC2_7:443 connectiontimeout=1
BalancerMember https://backendEC2_8:443 connectiontimeout=1
BalancerMember https://backendEC2_9:443 connectiontimeout=1
BalancerMember https://backendEC2_10:443 connectiontimeout=1
</Proxy>

ProxyPass / balancer://AWSELB/
ProxyPassReverse / balancer://AWSELB/

使用 connectiontimeout 参数,如果在 1 秒内未与后端建立连接,则选择下一个 worker,依此类推,直到找到健康的 worker。

请注意,maxattempt、超时等设置将具有 Apache 2.2 docs

中所述的默认值