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: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
|