Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 连接池大小与tp处理器之间的关系?_Apache_Tomcat_Mod Jk - Fatal编程技术网

Apache 连接池大小与tp处理器之间的关系?

Apache 连接池大小与tp处理器之间的关系?,apache,tomcat,mod-jk,Apache,Tomcat,Mod Jk,apache2 workers.properties: worker.node223.connection_pool_size=100 worker.node223.connection_pool_minsize=50 tomcat server.xml: <Connector address="192.168.0.17" port="8009" maxHttpHeaderSize="64836" maxT

apache2 workers.properties:

worker.node223.connection_pool_size=100
worker.node223.connection_pool_minsize=50
tomcat server.xml:

<Connector address="192.168.0.17" port="8009" maxHttpHeaderSize="64836"
           maxThreads="350" minSpareThreads="50" maxSpareThreads="200"
           acceptCount="700" connectionTimeout="360000" disableUploadTimeout="true"
           enableLookups="false" URIEncoding="UTF-8" protocol="AJP/1.3" />

连接池大小意味着应该建立到后端服务器(tomcat)的最大tcp连接数。当我为tomcat服务器运行kill-3时。如下所示:

........      
"TP-Processor499" daemon prio=10 tid=0x00007fb8455b5000 nid=0x4521 in Object.wait() [0x00007fb7ffe3f000]
       java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00007fb89017d430> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)
        - locked <0x00007fb89017d430> (a org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
        at java.lang.Thread.run(Thread.java:619)


"TP-Processor498" daemon prio=10 tid=0x00007fb8455b3000 nid=0x4520 runnable [0x00007fb7fff40000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
    - locked <0x00007fb8a486fde0> (a java.io.BufferedInputStream)
    at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
    at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
    at java.lang.Thread.run(Thread.java:619)
。。。。。。。。
对象中的“TP-Processor499”守护进程prio=10 tid=0x00007fb8455b5000 nid=0x4521。等待()[0x00007fb7ffe3f000]
java.lang.Thread.State:正在等待(在对象监视器上)
在java.lang.Object.wait(本机方法)
-等待(org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
等待(Object.java:485)
位于org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)
-锁定(org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
运行(Thread.java:619)
“TP-Processor498”守护进程prio=10 tid=0x00007fb8455b3000 nid=0x4520可运行[0x00007fb7fff40000]
java.lang.Thread.State:可运行
位于java.net.SocketInputStream.socketRead0(本机方法)
位于java.net.SocketInputStream.read(SocketInputStream.java:129)
在java.io.BufferedInputStream.fill处(BufferedInputStream.java:218)
位于java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
在java.io.BufferedInputStream.read处(BufferedInputStream.java:317)
-锁定(java.io.BufferedInputStream)
位于org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:621)
位于org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:559)
位于org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:686)
位于org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
位于org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
运行(Thread.java:619)

然后我得到:

有295个TP处理器,我想295 有189个Tp处理器(正在等待) 有106个TP处理器(在RUNNABLE中)>连接池大小=100,我认为这是错误的。 我做错什么了吗?如果没有,你知道一个可能的解释吗?
谢谢

如果我没看错你的话,那么100是每个工人的最大线程数。也许不止一个工人在运行

http://tomcat.apache.org/connectors-doc/reference/workers.html

如果我读对了,那么100是每个工人的最大线程数。也许不止一个工人在运行

http://tomcat.apache.org/connectors-doc/reference/workers.html

在tomcat日志中,我发现:严重:所有线程(350)当前都很忙,正在等待。增加maxThreads(350)或检查servlet状态是否为350>connection\u pool\u size(100),因此我认为日志不可信。我感到困惑。在tomcat日志中,我发现:严重:所有线程(350)当前都很忙,正在等待。增加maxThreads(350)或检查servlet状态是否为350>connection\u pool\u size(100),因此我认为日志难以置信。我感到困惑。