mod集群中的负载平衡无效

时间:2013-02-06 11:54:14

标签: jboss

我在Linux机器箱中安装了Jboss服务器。我在windows机器中配置了apache服务器。我能够在我的modcluster管理器控制台中看到所有jboss服务器节点。 我在所有jboss服务器上部署了一个camel应用程序。我已经完成了2,4,6个节点的性能测试。但是没有性能差异.......

找到jboss配置

<subsystem xmlns="urn:jboss:domain:modcluster:1.0">
            <mod-cluster-config proxy-list="x.x.x.x:6666" advertise="false">
                <dynamic-load-provider>
                    <load-metric type="busyness"/>
                </dynamic-load-provider>
            </mod-cluster-config>
        </subsystem>

对于节点的并行执行,我是否必须进行任何其他配置......

提前致谢................

2 个答案:

答案 0 :(得分:2)

1 - 在this link下载最新版本的mod_cluster并解压缩.. 2 - 在httpd.conf文件中配置你的mod_cluster,如上所述..

Listen ##PUT THE BALANCER IP HERE##:80

############### mod_cluster Setting - STARTED ###############

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
# MOD_CLUSTER_ADDS
# Adjust to you hostname and subnet.
<IfModule manager_module>
  Listen ##PUT THE BALANCER IP HERE##:6666
  ManagerBalancerName mycluster
  <VirtualHost ##PUT THE MACHINE IP HERE##:6666>
    <Location />
     Order deny,allow
     Deny from all
     Allow from 192.168.0
    </Location>

    KeepAliveTimeout 300
    MaxKeepAliveRequests 0
    AdvertiseFrequency 5
    EnableMCPMReceive

    <Location /mod_cluster_manager>
       SetHandler mod_cluster-manager
       Order deny,allow
       Deny from all
       Allow from 192.168.0
    </Location>

  </VirtualHost>
</IfModule>

############### mod_cluster Setting - ENDED ###############

3 - 设置每个jboss节点的名称

<server name="node1" xmlns="urn:jboss:domain:1.2">

4 - 在Web子系统中添加instance-id属性,如下所示在两个独立节点

<subsystem xmlns="urn:jboss:domain:web:1.1" instance-id="${jboss.node.name}" default-virtual-server="default-host" native="false">
    <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
    <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
    .
    .
    .
</subsystem>

5 - 在modcluster子系统的mod-cluster-config中的属性中添加代理列表,该子集将具有运行Apache服务器(均衡器)的IP地址和端口,以便JBoss服务器可以与之通信,如下面两个独立节点中所示

<subsystem xmlns="urn:jboss:domain:modcluster:1.0">
    <mod-cluster-config advertise-socket="modcluster" proxy-list="##PUT THE BALANCER IP HERE##:80">
    .
    .
    .
    </mod-cluster-config>
</subsystem>

6 - 现在你可以转到http://BALANCER_IP:80进行测试并使用mod_cluster管理jboss实例转到http://BALANCER_IP:6666/mod_cluster_manager

** Obs:如果你想在独立模式下运行jboss你不能使用“-b”标志和ip 0.0.0.0来监听来自所有IP的请求..我建议你使用正在运行的机器的IP jboss本身

答案 1 :(得分:0)

使用sticky-session =“true”(默认值),只要它是健康的,均衡器就会继续向会话所属的特定节点发送请求。

如果你告诉我你是如何测试的,特别是:有多少客户与多少次请求,我将能够为你提供帮助。

此外,请考虑编辑 load-metric 元素的容量属性。

BTW:“ busyness ”认为线程池中的线程正在被服务请求占用。您可能会发现这不是系统的瓶颈。您可能希望添加请求或其他指标。见http://docs.jboss.org/mod_cluster/1.2.0/html_single/