1

apache2 ワーカーのプロパティ:

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" />

connection_pool_size は、最大 tcp 接続数をバックエンド サーバー (tomcat) に確立する必要があることを意味する必要があります。

........      
"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)

.........

それから私は得る:

295 の TP-Processor があります。295< connection_pool_size+maxSpareThreads = 300 と推測します。295 < maxThreads = 350 です。問題ありません。

189 個の Tp プロセッサがあります (待機中) < maxSpareThreads = 200、問題ありません。

106 の TP-Processor があります(RUNNABLE 内) > connection_pool_size = 100、間違っていると思います。

私は何か間違ったことをしていますか?そうでない場合、これについて可能な説明を知っていますか? ありがとう

4

1 に答える 1

1

あなたが正しく読んでいるなら、ワーカーあたりの最大スレッド数は 100 です。複数のワーカーが実行されている可能性があります。

http://tomcat.apache.org/connectors-doc/reference/workers.html
于 2011-11-02T21:43:03.647 に答える