使用JBoss的mod_proxy_balancer得到了很多的CLOSE_WAIT

我们有一个小型networking集群,每天可以为大约400个并发用户提供服务。

我们使用:

  • Apache 2.2.14
    • mod_proxy的
    • mod_proxy_httpd
    • mod_proxy_balancer的
  • JBoss 4.2.2 GA

首先,我们尝试了AJP,并且unforutanly我们得到了AJP CLOSE_WAIT问题,导致apache不响应HTTP请求。 所以我们转向mod_proxy_balancer ,在每个JBoss节点中看起来没有相同的CLOSE_WAIT问题。

这里是我们现在mod_proxy_balancer的configuration:

 <Proxy balancer://www> Allow from all BalancerMember http://192.168.1.2:8080/APP loadfactor=10 route=node1 BalancerMember http://192.168.1.3:8080/APP loadfactor=10 route=node2 BalancerMember .... loadfactor=10 route=node3 ProxySet lbmethod=byrequests stickysession=JSESSIONID|jsessionid nofailover=On </Proxy> ProxyPass /LEI balancer://www/ ProxyPassReverse /LEI balancer://www/ 

但是我们在这里遇到了一个新的问题,有许多(几百个)CLOSE_WAIT,我们可以从apache节点机器上find:

 netstat -a | grep CLOSE_WAIT ............. tcp 1 0 localhost:30997 localhost:webcache CLOSE_WAIT 

这是一个mod_proxy_balancer的问题? 我们如何避免这种情况?

我们已经在这个论坛上看过关于CLOSE_WAIT所有文章,并且在使用AJP的时候尝试了很多的解决scheme。

他们没有使用Apache mod_proxy_balancer是否有其他的http群集解决scheme?

顺便说一下:我们已经读过nginx,它只支持基于客户端IP路由器的平衡,对吧? 我们的大部分用户都在一个大的内部网(校园用户)内部。

谢谢你的帮助。