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
"%r"(%{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: [email protected]
For additional commands, e-mail: [email protected]