首页 > 其他 > 详细

tomcat7性能调优(01)

时间:2015-06-18 02:17:26      阅读:350      评论:0      收藏:0      [点我收藏+]

?

?

Tomcat优化:
1、最大连接数最大线程等设置

<Connector port="8082" protocol="HTTP/1.1"

? ? ? ? ? ? ? ?useBodyEncodingForURI="true" enableLookups="false" connectionTimeout="30000"

?????????????? maxConnections="2000" acceptCount="2000" maxThreads="1500"

?????????????? minSpareThreads="200" maxSpareThreads="1000" compression="on" compressionMinSize="2048"

?????????????? noCompressionUserAgents="gozilla, traviata" maxProcessors="1000" minProcessors="5" acceptorThreadCount="10" redirectPort="8443" />

<Connector port="8080" protocol="HTTP/1.1"
? ? ? ? ? ? ? ?connectionTimeout="20000"
? ? ? ? ? ? ? ?redirectPort="8443"?
? ? ? ? ? ? ? ?maxConnections="500" acceptCount="500" maxThreads="300"
? ? ? ? ? ? ? ?minSpareThreads="50" maxSpareThreads="200"/>
?
port
8080
端口号
protocol
HTTP/1.1
协议
useBodyEncodingForURI
true

useBodyEncodingForURI参数表示是否用request.setCharacterEncoding?
参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。

?

URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。

使用了Spring MVC的

enableLookups
?
?
connectionTimeout
?
网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
maxConnections
?
?
acceptCount
?
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
maxThreads
?
Tomcat使用线程来处理接收的每个请求。
这个值表示Tomcat可创建的最大的线程数。
minSpareThreads
?
Tomcat初始化时创建的线程数。
maxSpareThreads
?
一旦创建的线程超过这个值,
Tomcat就会关闭不再需要的socket线程
compression
?
?
compressionMinSize
?
?
noCompressionUserAgents
?
?
maxProcessors
?
?
minProcessors
?
?
acceptorThreadCount
?
?
redirectPort
?
?
?
2、启动参数设置

修改/bin/catalina.sh,增加如下设置:

JAVA_OPTS="-Xms【初始化内存大小】?-Xmx【可以使用的最大内存】"

JAVA_OPTS="-Xms2048m -Xmx4096m -Xss2048K -XX:PermSize=256m -XX:MaxPermSize=512m"

?
?
-Xms】【-Xmx】讲解
-Xms128m
表示JVM Heap(堆内存)最小尺寸128MB,初始分配

-Xmx512m

表示JVM Heap(堆内存)最大尺寸512MB,按需分配

说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try...catch捕捉。

?
【-XX:PermSize】【-XX:MaxPermSize】讲解
PermSize和MaxPermSize指明虚拟机为java永久生成对(Permanate?generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
?
-XX:PermSize=64MB?
最小尺寸,初始分配
-XX:MaxPermSize=256MB?
最大尺寸,按需分配

过小会导致:java.lang.OutOfMemoryError: PermGen?space

参考资料:
http://phl.iteye.com/blog/1982676
http://blog.csdn.net/jchou/article/details/9356251
?

?

tomcat7性能调优(01)

原文:http://toknowme.iteye.com/blog/2220260

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!