【Tomcat】Tomcat のスレッド制御 ~ Connectorタグ / Executorタグ ~

Tomcat のスレッド制御

 * server.xml のタグで制御

  [1] <Connector>タグ
    ... maxThreads / minSpareThreads / acceptCount / connectionTimeout

  [2] <Executor>タグ
    ... maxThreads / minSpareThreads / maxIdleTime

[1] <Connector>タグ

 * クライアントからのリクエストを処理するコネクタの設定
maxThreads
 * リクエスト処理を行う<Connector>タグで
   処理できるリクエスト処理スレッドの最大数を設定
 * デフォルト値:200
connectionTimeout
 * コネクションを受け付けてからコネクタが待ち受ける時間[ミリ秒]
 * デフォルト値:60000[ミリ秒](1分)

[2] <Executor>タグ

 * 設定することで1つのサービス内でスレッドプールを表わす
maxThreads
 * activeスレッドの最大個数を設定
 * デフォルト値:200
maxThreads
 * 常時即応できるように待機しているスレッドの最小個数を設定
 * デフォルト値:25
maxIdleTime
 * acitveスレッドの個数がminSpareThreadsを超えている場合に、
   アイドル状態のスレッドがシャットダウンするまでの時間[ミリ秒]
 * デフォルト値:60000[ミリ秒](1分)

■ server.xml

<Service name="Catalina">

  <!--The connectors can use a shared executor, you can define one or more named thread pools-->
  <!--
  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
      maxThreads="150" minSpareThreads="4"/>
  -->

 ... 略 ...

  <!--
  <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
             maxThreads="150" SSLEnabled="true">
      <SSLHostConfig>
          <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                       type="RSA" />
      </SSLHostConfig>
  </Connector>
  -->

使用上の注意

 * <Executor>タグは、<Connector>タグの前に設定しなければ、
   <Connector>タグに利用されないので注意


関連記事

Tomcat】設定ファイル server.xml ~ Connector / Attributes 編~

https://blogs.yahoo.co.jp/dk521123/34658624.html

Tomcat】設定ファイル server.xml ~ Connector / Special Features 編~

https://blogs.yahoo.co.jp/dk521123/35255676.html

設定ファイル server.xml ~ Valve 編~

https://blogs.yahoo.co.jp/dk521123/37348697.html