【发布时间】:2019-03-22 06:47:50
【问题描述】:
我正在使用 mod_proxy_balancer 来平衡两个后端 IIS 服务器。在监控 balancer-manager gui 时,我注意到 apache 偶尔会停止向其中一个成员发送流量。但是,日志中没有错误,也没有任何迹象表明服务器不可用。我尝试了各种 lbmethods(bytraffic、bybusyness)并看到相同的结果。我需要确定为什么流量会停止流向看似健康且未返回错误的成员。这通常发生在负载较重的情况下,这会导致性能问题,因为一台服务器正在处理所有请求。
相关配置:
<Proxy balancer://cluster1>
BalancerMember http://iis1:80 route=2 timeout=45 keepAlive=On
BalancerMember http://iis2:80 route=1 timeout=45 keepAlive=On
ProxySet stickysession=ROUTEID
</Proxy>
【问题讨论】:
-
输入您的
LogLevel debug并重新开始您的测试。一名成员在负载下的响应速度不能足够快。如果你真的需要keepAlive,也可以在这里验证httpd.apache.org/docs/2.4/mod/mod_proxy.html。大多数没有。然后监视您的 IIS 服务器,看看它们是否响应足够快,是否有足够的资源和可用连接,... -
谢谢你的提示,我明天试试。值得注意的是,当这种情况发生时,停止获取流量的 IIS 服务器上的负载不到总 CPU 的 10%、40% 的内存,并且网络流量可以忽略不计。
-
好的。我提到它是因为我遇到了类似的情况,后端的 Tomcat 服务器几乎没有做任何事情,但那是因为它们被配置为小响应。他们只有 20 个线程,http 配置了数百个。
标签: apache httpd.conf mod-proxy mod-proxy-balancer