【系统环境:CentOS-6.6-x86_64】
【Tomcat版本:7.0.62】
1.JVM 调优
在TOMCAT_HOME/bin/catalina.sh 中增加如下语句,具体数值视情况而定,(在cygwin=false这一行上方添加)
JAVA_OPTS="-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=64m -XX:MaxPermSize=128m"
参数详解:
-Xms JVM初始化堆内存大小
-Xmx JVM堆的最大内存
-Xss 线程栈大小
-XX:PermSize JVM非堆区初始内存分配大小
-XX:MaxPermSize JVM非堆区最大内存
建议和注意事项:
-Xms和-Xmx选项设置为相同堆内存分配,以避免在每次GC 后调整堆的大小,堆内存建议占内存的60%~80%;非堆内存是不可回收内存,大小视项目而定;线程栈大小推荐1024k。
2.关闭DNS反向查询
在TOMCAT_HOME/conf/server.xml的 Connector port=”8080″ 中加入如下参数
enableLookups=”false”
3.以apr运行Tomcat Connector
详见博文:Tomcat Connector的三种运行模式【bio、nio、apr】
4.优化tomcat参数
在TOMCAT_HOME/conf/server.xml的 Connector port=”8080″ 中设置如下参数:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="500"//设定处理客户请求的线程的最大数目,决定了服务器可以同时响应客户请求的数,默认200
minSpareThreads="20"//初始化线程数,最小空闲线程数,默认为10
acceptCount="1000"//当所有可以使用的处理请求的线程数都被使用时,可以被放到处理队列中请求数,请求数超过这个数的请求将不予处理,默认100
enableLookups="false"
URIEncoding="UTF-8" />
5.启用Gzip压缩
在TOMCAT_HOME/conf/server.xml的 Connector port=”8080″ 中设置如下参数:
compression="on"
compressionMinSize1="2048"
noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"/>
参数详解:
compression: off/on/force(不启用/启用压缩文本内容/强制压缩所有请求包含图片)
compressionMinSize: 2048 对小于该配置大小的文件不进行压缩(单位:B,即默认2K。该属性自Tomcat7有效 。)
noCompressionUserAgents: 指定不需要压缩的浏览器Agent,使用逗号间隔
compressableMimeType: “text/html,text/xml,text/plain”(这是默认值,指定需要压缩的请求文档类型)