默认安装的单个Tomcat性能比较低下,适合用来做开发;但是用来部署和小型、一般的商用就显得捉襟见肘。
下面几点,可以提高一些Tomcat的性能。
一、调整JVM 最大使用内存值
1.windows 版本
打开web/bin/catalina.bat 文件
在 “rem Guess CATALINA_HOME if not defined” 行下加入以下一行
set JAVA_OPTS="-Xmx512m"
表示JVM最大使用内存值为 512 M
2.unix/linux 版本
打开web/bin/catalina.sh 文件
在注释行(以"#")下加入以下一行
JAVA_OPTS="-Xmx512m"
其中具体内存数可根据系统具体情况而定。
二、调整tomcat 参数
打开文件web/conf/server.xml 调整以下参数:
1.禁止DNS lookup
把 Connector/enableLookups 参数设为false, 例子:
<!--
Define a non-SSL Coyote HTTP/1.1 Connector on port 8080
-->
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
2.调整最大线程数
调整 Connnector/maxThreads 参数到一个适合的值,一般这个值要比
服务器最大的同时访问数大100到200, 例子:
<!--
Define a non-SSL Coyote HTTP/1.1 Connector on port 8080
-->
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
3.禁止自动部署
把 Connector/Engin/Host 的autoDeploy 参数设为 false,例子:
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">