tomcat性能优化
一、设置catalina.bat中的JAVA_OPTS参数,在D:\apache-tomcat-8085\bin\catalina.bat文件里
参数说明:
1.Xms:
TOMCAT中JVM内存最小设置参数,建议修改为1024M;
2.Xmx:
TOMCAT中JVM内存最大设置参数,建议修改为1024M;
注意:Xms、Xmx最好配置一样。
3.-XX:PermSize=256M
设置永久域(非堆内存)的初始值,默认是物理内存的1/64, 建议不要超过256M;
4.-XX:MaxPermSize=512M
设置永久域的最大值,默认是物理内存的1/4,建议修改为512M;
window设置如下:
rem ----- Execute The Requested Command --------------------------------------- echo Using CATALINA_BASE: "%CATALINA_BASE%" set JAVA_OPTS=%JAVA_OPTS% -server -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M #测试发现,8g内存4核cpu该设置最优,不同环境参数设置不一样 echo Using CATALINA_HOME: "%CATALINA_HOME%" echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%" if ""%1"" == ""debug"" goto use_jdk
linux设置如下:
# ----- Execute The Requested Command ----------------------------------------- JAVA_OPTS="$JAVA_OPTS -server -Xms1024m -Xmx1024m -XX:PermSize=512M -XX:MaxPermSize=1024M"
二、设置server.xml中的Connector参数
打开%CATALINA_HOME%\conf\server.xml文件,找到以下内容:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
修改为以下内容:
<Connector port="8085" protocol="org.apache.coyote.http11.Http11NioProtocol" <!-- 使用nio模式,提高性能 --> acceptorThreadCount="2" <!-- 双核启用 --> connectionTimeout="30000" <!-- 连接超时30秒 --> URIEncoding="utf-8" <!-- 双核启用 --> enableLookups="false" <!-- 关闭ip反查,提高性能 --> maxThreads="1000" <!-- 最多线程1000个 --> acceptCount="1000" <!-- 线程满了,请求队列数量1000个 --> maxConnections="10000" <!-- 最多请求量 --> minSpareThreads="200" <!-- Tomcat初始化时创建的线程数。此处我们设置为200 --> maxSpareThreads="300" <!-- 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。此处的值我们设置为300。 --> redirectPort="8443" bufferSize="3072" <!--Connector创建的输入流的大小,默认值是2048 bytes,提高这个值可以提升性能,增加内存消耗。 --> />