Hi... I am running Apache Tomcat Version 7.0.26 with SOLR 3.5 on jdk1.7.0_03
The problem is that i cannot limit count of connections. I never get connection 
refused (only timeouts). For example: maxThreads="150" and acceptCount="100", 
as i think i will have 150+100=250 connections in ESTABLISHED state, and all 
others will be refused. 

But in realy:
#netstat -na | grep 8080 | awk '{print $6}' | sort | uniq -c | sort -rn
   3899 FIN_WAIT2
   3385 ESTABLISHED
    243 TIME_WAIT
      9 CLOSE_WAIT
      3 FIN_WAIT1
      1 SYN_SENT
      1 LISTEN

Probe (http://localhost:8080/probe/connectors.htm) return me Connectors Count: 
150

http://localhost:8080/probe/threadpools.htm
Threads count
Name            Current Busy    Max     Spare1  Spare2
"ajp-apr-8009"  0       0       4096    0       0
"http-apr-8080" 150     150     150     0       0
AJPThreadPool   0       0       4096    0       200
HTTPThreadPool  150     150     150     150     20

As I think: connections comes to some buffer (may be JVM) and slowly 
transferres to TOMCAT... It is not good for my task, the best way is to recieve 
250 connections and all other to refuse. How I can do this?

my start options:

/production/jdk7/jre/bin/java 
-Djava.util.logging.config.file=/data/servers/solr_tomcat/conf/logging.properties
 -XX:+CMSClassUnloadingEnabled -XX:MaxGCPauseMillis=3000 
-XX:MaxGCMinorPauseMillis=3000 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
-Duser.timezone=UTC -Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=8161 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
-Djava.endorsed.dirs=/production/tomcat7/endorsed -classpath 
/production/tomcat7/bin/bootstrap.jar:/production/tomcat7/bin/tomcat-juli.jar 
-Dcatalina.base=/data/servers/solr_tomcat -Dcatalina.home=/production/tomcat7 
-Djava.io.tmpdir=/data/servers/solr_tomcat/temp 
org.apache.catalina.startup.Bootstrap start

/data/servers/solr_tomcat/conf/server.xml:

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" 
SSLEngine="on" />
  <!--Initialize Jasper prior to webapps are loaded. Documentation at 
/docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener 
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener 
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener 
className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

        <GlobalNamingResources>
                <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>


        <Service name="Catalina">

                <Executor name="AJPThreadPool" namePrefix="AJPThread-"
                        maxThreads="4096"
                        minSpareThreads="150"/>

                <Executor name="HTTPThreadPool" namePrefix="HTTPThread-"
                        maxThreads="150"
                        minSpareThreads="20"/>

                <Connector executor="HTTPThreadPool" port="8080" 
protocol="org.apache.coyote.http11.Http11AprProtocol" redirectPort="8443" 
URIEncoding="UTF-8"
                        maxHttpHeaderSize="8388608"
                        maxThreads="150"
                        maxKeepAliveRequests="1"
                        enableLookups="false"
                        acceptCount="100"
                        connectionTimeout="3000" />
                <Context cacheMaxSize="40960" cacheTTL="60000"
                        cachingAllowed="true">
                </Context>

                <Connector executor="AJPThreadPool" port="8009" 
protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"
                        enableLookups="false"
                        acceptCount="100"
                        connectionTimeout="20000" />


                <Engine name="Catalina" defaultHost="localhost">

                        <Realm 
className="org.apache.catalina.realm.UserDatabaseRealm" 
resourceName="UserDatabase"/>

                        <Host name="localhost"  appBase="webapps"
                                unpackWARs="true" autoDeploy="true"
                                xmlValidation="false" xmlNamespaceAware="false">
                                <Valve 
className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                                        prefix="japp_access." suffix=".log"
                                        pattern="%{X-LB-Client-IP}i %l %u %t 
&quot;%r&quot;(%{Content-Length}i) %s %b(%{Content-Length}o) %D"
                                        resolveHosts="false" rotatable="true" 
fileDateFormat="yyyy-MM-dd.HH"/>

                        </Host>
                </Engine>
        </Service>
</Server>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to