【目的】
 服务器连接数可能会很大,压力,性能测试用【構成】
 ・服务器:1台。
 ・SQL Server:1台。
 ・Webサーバ:不使用Apache、IIS等。只用Tomcat。网上找到的都是Apache,tomcat,jk的对tomcat不了解啊,主要是想在同一台机器上测试用多个tomcat减轻负载

解决方案 »

  1.   

    有专门的程序来实现load balance吧  高手来指教指教 我也在做这个。
      

  2.   

    负载均衡一般是通过多台计算机进行的,那当然要通过APACHE火IIS来通信,你一台机器,是准备用多个Tomcat来实现吗?
      

  3.   

    最好是用apache,然后tomcat集群,一般集群8个左右就好了集群都是些配置的问题。网上很多配置的。
      

  4.   

    可是客户要求不用apache,所以负载均衡器该怎么实现呢?
      

  5.   

    session复制是可以了,接下去不知道该怎么办了,比如8080端口的tomcat崩溃后,执行http://localhost:8080/test重定向到http://localhost:9090/test,怎么就没人呢
      

  6.   

    http://java.ccidnet.com/art/3741/20080129/1356635_1.html
    这个网站说的不时很详细,哪位能详细点说下,最好能配置好后发个例子,万分感谢了
    [email protected]
      

  7.   

    实在不知道是什么错误了
    Required property "mcastClusterDomain" is missing
    我明明在均衡的tomcat里设了的
    ERROR:
    ***************************************************************************
    Mar 7, 2006 1:04:11 PM org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8080
    Mar 7, 2006 1:04:11 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 7075 ms
    Mar 7, 2006 1:04:12 PM org.apache.catalina.core.StandardService start
    INFO: Starting service Catalina
    Mar 7, 2006 1:04:12 PM org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/5.0
    Mar 7, 2006 1:04:12 PM org.apache.catalina.core.StandardHost start
    INFO: XML validation disabled
    Mar 7, 2006 1:04:12 PM org.apache.catalina.core.StandardHost getDeployer
    INFO: Create Host deployer for direct deployment ( non-jmx )
    Mar 7, 2006 1:04:12 PM org.apache.catalina.core.StandardHostDeployer install
    INFO: Installing web application at context path /balancer from URL
    file:/var/lib/tomcat5/webapps/balancer
    Mar 7, 2006 1:04:17 PM org.apache.coyote.http11.Http11Protocol start
    INFO: Starting Coyote HTTP/1.1 on http-8080
    Mar 7, 2006 1:04:18 PM org.apache.jk.common.ChannelSocket init
    INFO: JK2: ajp13 listening on /0.0.0.0:8009
    Mar 7, 2006 1:04:18 PM org.apache.jk.server.JkMain start
    INFO: Jk running ID=0 time=6/374 config=/usr/share/tomcat5/conf/jk2.properties
    Mar 7, 2006 1:04:18 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 7237 ms
    log4j:WARN No such property [maxFileSize] in org.apache.log4j.FileAppender.
    2006-03-07 13:05:20,181 (WebPortalLogger.java:44) - **** NEW HTTP REQUEST ****
    2006-03-07 13:05:20,261 (WebPortalLogger.java:44) -
    TC-LB|balancer|testLB.jsp|Start Time |03/07/2006 01:05:20:209 PM
    2006-03-07 13:05:21,667 (WebPortalLogger.java:44) - getServerInstance() : 1
    2006-03-07 13:05:21,670 (WebPortalLogger.java:44) - getMaxServerInstances() : 2
    2006-03-07 13:05:21,674 (WebPortalLogger.java:44) - 404692994 : 1
    2006-03-07 13:05:21,678 (WebPortalLogger.java:44) - Requested server instance
    match..
    java.lang.IllegalArgumentException: Required property "mcastClusterDomain" is
    missing.
    at
    org.apache.catalina.cluster.mcast.McastService.hasProperty(McastService.java:252 )
    at
    org.apache.catalina.cluster.mcast.McastService.setProperties(McastService.java:1 40)
    at common.utilities.ServerUtil.isServerAlive(ServerUtil.java:36)
    at
    org.apache.webapp.balancer.rules.BaseLoadBalancingRule.isServerAlive(BaseLoadBal ancingRule.java:89)
    at
    org.apache.webapp.balancer.rules.RandomRedirectRule.matches(RandomRedirectRule.j ava:41)
    at org.apache.webapp.balancer.RuleChain.evaluate(RuleChain.java:100)
    at
    org.apache.webapp.balancer.BalancerFilter.doFilter(BalancerFilter.java:118)
    at
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilt erChain.java:202)
    at
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain. java:173)
    at
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:2 14)
    at
    org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.ja va:104)
    at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at
    org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValv e.java:198)
    at
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:1 52)
    at
    org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.ja va:104)
    at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at
    org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.ja va:104)
    at
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at
    org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.ja va:102)
    at
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)**************************************************************************
      

  8.   

    这是server.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <Server port="8005" shutdown="SHUTDOWN">  <!-- Comment these entries out to disable JMX MBeans support used for the 
           administration web application -->
      <Listener className="org.apache.catalina.core.AprLifecycleListener" />
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="0"/>
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="0"/>
      <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>  <!-- Global JNDI resources -->
      <GlobalNamingResources>    <!-- Test entry for demonstration purposes -->
        <Environment name="simpleValue" type="java.lang.Integer" value="30"/>    <!-- Editable user database that can also be used by
             UserDatabaseRealm to authenticate users -->
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
           description="User database that can be updated and saved"
               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />  </GlobalNamingResources>  <!-- Define the Tomcat Stand-Alone Service -->
      <Service name="Catalina">    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
        <Connector port="8080" maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout="20000" disableUploadTimeout="true" />
        <!-- Note : To disable connection timeouts, set connectionTimeout value
         to 0 -->

    <!-- Note : To use gzip compression you could set the following properties :

       compression="on" 
       compressionMinSize="2048" 
       noCompressionUserAgents="gozilla, traviata" 
       compressableMimeType="text/html,text/xml"
    -->    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
        <!--
        <Connector port="8443" maxHttpHeaderSize="8192"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" disableUploadTimeout="true"
                   acceptCount="100" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" />
        -->    <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="8009" 
                   enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />      <!-- Because this Realm is here, an instance will be shared globally -->      <!-- This Realm uses the UserDatabase configured in the global JNDI
               resources under the key "UserDatabase".  Any edits
               that are performed against this UserDatabase are immediately
               available for use by the Realm.  -->
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="UserDatabase"/>      <!-- Comment out the old realm but leave here for now in case we
               need to go back quickly -->
          <!--
          <Realm className="org.apache.catalina.realm.MemoryRealm" />
          -->      <!-- Replace the above Realm with one of the following to get a Realm
               stored in a database and accessed via JDBC -->      <!--
          <Realm  className="org.apache.catalina.realm.JDBCRealm"
                 driverName="org.gjt.mm.mysql.Driver"
              connectionURL="jdbc:mysql://localhost/authority"
             connectionName="test" connectionPassword="test"
                  userTable="users" userNameCol="user_name" userCredCol="user_pass"
              userRoleTable="user_roles" roleNameCol="role_name" />
          -->
            
             <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                                           doClusterLog="true"
                                         clusterLogName="clusterlog"
                                      manager.className="org.apache.catalina.cluster.session.DeltaManager"
                       manager.expireSessionsOnShutdown="false"
                   manager.notifyListenersOnReplication="false"
            manager.notifySessionListenersOnReplication="false"
                                manager.sendAllSessions="false"
                            manager.sendAllSessionsSize="500"
                        manager.sendAllSessionsWaitTime="20">
    <Manager className="org.apache.catalina.session.PersistentReplicationManager"
    debug="0"
    saveOnRestart="true">
    <Store className="org.apache.catalina.session.FileStore"
     directory="C:\Program Files\Apache Software Foundation\Tomcat50\work" />
    </Manager>
                      <Membership 
                                              className="org.apache.catalina.cluster.mcast.McastService"
                                              mcastAddr="228.0.0.4"
                                       mcastBindAddress="172.223.140.160" 
                                     mcastClusterDomain="d10" 
                                              mcastPort="45564"
                                         mcastFrequency="1000"
                                          mcastDropTime="30000"
    recoveryCounter="10"
                                        recoveryEnabled="true"
                                      recoverySleepTime="5000"/>         
                      <Receiver 
                                               className="org.apache.catalina.cluster.tcp.ReplicationListener"
                                        tcpListenAddress="127.0.0.1"
                                           tcpListenPort="4000"
                                      tcpSelectorTimeout="100"
                                          tcpThreadCount="6"/>
                      <Sender
                                               className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                                         replicationMode="fastasyncqueue"
                                          recoverTimeout="5000"
                                          recoverCounter="6"
                            doTransmitterProcessingStats="true"
                                       doProcessingStats="true"
                                          doWaitAckStats="true"
                                           queueTimeWait="true"
                                            queueDoStats="true"
                                          queueCheckLock="true"
                                              ackTimeout="15000"
                                              waitForAck="true"
                                        keepAliveTimeout="80000"
                                keepAliveMaxRequestCount="-1"/>
                      <Valve                   className="org.apache.catalina.cluster.tcp.ReplicationValve"
                                                  filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"
                                        primaryIndicator="true" />
                      <Valve                    className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
                                                 enabled="true" />
                      <ClusterListener         className="org.apache.catalina.cluster.session.ClusterSessionListener" />
                      <ClusterListener         className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" />
                      <Deployer                className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
                                                tempDir="${catalina.base}/war-temp"
                                              deployDir="${catalina.base}/war-deploy/"
                                               watchDir="${catalina.base}/war-listen/"
                                           watchEnabled="true"/>
                      </Cluster>      </Host>    </Engine>  </Service></Server>