Warum ist mein Tomcat 6-executor-thread-pool nicht durch den connector verwendet?
Meine server.xml sieht aus wie die folgenden:
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<Executor name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="200"
minSpareThreads="4"/>
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="10000"
maxKeepAliveRequests="1"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Jedoch in den Tomcat-manager ( http://localhost/manager/status ), zeigt folgende
http-8080: Max threads: -1 Current thread count: -1 Current thread busy: -1
jk-8009: Max threads: 200 Current thread count: 4 Current thread busy: 1
Aus irgendeinem Grund, es sieht aus wie http-8080 ist nicht mit der executor auch wenn es richtet sich auch und jk-8009 ist mit der executor auch wenn er nicht angewiesen. Ist der manager nur Fehlmeldungen oder habe ich nicht das setup der thread-pool korrekt?
InformationsquelleAutor jwegan | 2010-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine Vermutung ist, dass der manager reporting die Werte, die eingestellt waren, als Teil des connector-Definitionen, und nicht die Berichterstattung der Werte aus der executor. Der Testamentsvollstrecker wil wie erwartet funktioniert, es ist nur nicht korrekt gemeldet im manager.
200 Wert für den AJP-connector ist hier irreführend, da 200 ist der Standardwert für
maxThreads
(wie definiert hier); weil Sie nicht angebenmaxThreads
für den AJP-connector, das ist der Wert, der verwendet wird.Den HTTP-connector reporting Unsinn Werten, weil es die Delegation Ihre thread-management-executor.
Überprüfen, ob dies alles wahr ist, versuchen Sie, die
maxThreads
Wert der executor zu einem anderen Wert. Sie sollten sehenmaxThreads
des AJP-connector bleiben bei 200 (denn das ist der Standardwert).InformationsquelleAutor skaffman
Die maximale Anzahl der request-Verarbeitung-threads erstellt werden, die von diesem Connector, der somit bestimmt die maximale Anzahl gleichzeitiger Anforderungen an, die behandelt werden kann. Wenn nicht angegeben, wird dieses Attribut wird auf 200 gesetzt. Wenn ein Testamentsvollstrecker ist, die diesem connector zugeordnet ist, wird dieses Attribut ignoriert wird, wie der connector ausführen von Aufgaben mithilfe der executor eher als eine interne thread-pool. Beachten Sie, dass, wenn ein Testamentsvollstrecker konfiguriert ist, einen beliebigen Wert für dieses Attribut festgelegt wird korrekt gespeichert, aber es wird gemeldet (z.B. per JMX) -1 deutlich zu machen, dass es nicht verwendet wird.
InformationsquelleAutor Rahul