Tomcat 最新的版本 6.0.18 修改了一些 bug 。這次升級 配置上也採用了 Executor 和 NIO 方式。
Tomcat6 maxSpareThreads參數不再被支持
minSpareThreads需要在 Executor 中配置
Standard 的配置和 NIO 的配置都可使用: acceptCount
使用 Executor 可能會有一點性能損失,但是高負載的環境下,會通過一個 FIFO 的隊列公平得處理請求
升級到 tomcat6.0.18 ,修改 conf/ server.xml 調整爲:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="200" minSpareThreads="50"/>
採用 NIO 的配置:
<Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" enableLookups="false"
maxThreads="200" acceptCount="500" acceptorThreadCount="1" connectionTimeout="5000"
redirectPort="8443" />
升級後,通過觀察系統的監控圖表發現,確實穩定了很多。