1.增加JVM堆内存大小
1)JVM通常不去调用垃圾回收器,所以服务器可以更多关注处理web请求,并要求尽快完成。
2)更改文件(catalina.sh)
1
2
3
4
5
6
|
JAVA_OPTS=”-Djava.awt.headless= true -Dfile.encoding=UTF-8
-server -Xms1024m -Xmx1024m
-XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m
-XX:MaxPermSize=512m -XX:+DisableExplicitGC”
-Xms – 指定初始化时化的栈内存
-Xmx – 指定最大栈内存
|
2.修复JRE内存泄漏
1)最新的tomcat版本6.0.26及以上就可以解决这个错误,因为它包含了一个监听器来处理JRE和PermGen的内存泄漏。
2)更改server.xml
1
|
<Listener className=“org.apache.catalina.core.JreMemoryLeakPreventionListener” />
|
3.线程池设置
maxThreads的值应该根据流量的大小,
如果值过低,将有没有足够的线程来处理所有的请求,请求将进入等待状态,只有当一个的处理线程释放后才被处理;
如果设置的太大,Tomcat的启动将花费更多时间。因此它取决于我们给maxThreads设置一个正确的值。
其中和最大连接数相关的参数为maxProcessors 和 acceptCount 。如果要加大并发连接数,应同时加大这两个参数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<Connector port=“ 9027 ”
protocol=“HTTP/ 1.1 ”
maxHttpHeaderSize=“ 8192 ”
maxThreads=“ 1000 ”
minSpareThreads=“ 100 ”
maxSpareThreads=“ 1000 ”
minProcessors=“ 100 ” 最小空闲连接线程数,用于提高系统处理性能
maxProcessors=“ 1000 ” 最大连接线程数,即:并发处理的最大请求数
enableLookups=“ false ” 是否反查域名,取值为: true 或 false 。为了提高处理能力,应设置为 false
compression=“on”
compressionMinSize=“ 2048 ”
compressableMimeType=“text/html,text/xml,text/javascript,text/css,text/plain”
connectionTimeout=“ 20000 ” 网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000 毫秒。
URIEncoding=“utf- 8 ”
acceptCount=“ 1000 ” 允许的最大连接数,应大于等于 maxProcessors
redirectPort=“ 8443 ”
disableUploadTimeout=“ true ”/>
|
4.压缩
1
2
|
compression=“on”
compressionMinSize=“ 2048 ”
|
当文件的大小大于等于2048bytes时才会压缩
5.数据库性能调优
Tomcat性能在等待数据库查询被执行期间会降低
确保所有数据库连接正确地关闭。
最大空闲数(maxIdle),最大连接数(maxActive),最大建立连接等待时间(maxWait)属性的值。
6.其它选项
开启浏览器的缓存,这样读取存放在webapps文件夹里的静态内容会更快,大大推动整体性能
每当开机时,Tomcat服务器应当自动地重启
一般情况下HTTPS请求会比HTTP请求慢。如果你想要更好的安全性,即使慢一点我们还是要选择HTTPS
设置TOMCAT启用GZIP压缩
1
2
3
4
|
compression=”on” 打开压缩功能
compressionMinSize=”50″ 启用压缩的输出内容大小,默认为2KB
noCompressionUserAgents=”gozilla, traviata” 对于以下的浏览器,不启用压缩
compressableMimeType=”text /html ,text /xml ,text /javascript ,text /css ,text /plain “ 哪些资源类型需要压缩
|
以上所述是小编给大家介绍的tomcat性能优化(性能总览),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/hello_zyg/article/details/58651341