当前位置: 代码迷 >> Java相关 >> tomcat调优有关问题
  详细解决方案

tomcat调优有关问题

热度:103   发布时间:2016-04-22 19:20:38.0
tomcat调优问题

 

Tomcat从5.5版本开始,支持以下四种Connector的配置分别为:
 
1、<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"                                connectionTimeout="20000" redirectPort="8443"/>2、<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000"               redirectPort="8443"/>3、<Connector executor="tomcatThreadPool"               port="8081" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443" />4、<Connector executor="tomcatThreadPool"               port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"               connectionTimeout="20000"               redirectPort="8443" />

 

1方式波动较大,但处理的请求数相对会高,
2方式性能是很稳定,但是处理的请求数也是最差的,这种方式就是Tomcat的默认配置。
3方式则波动很大,处理的请求与2方式差不多,不时有停滞。
4方式是在1方式的基础上加入线程池,
 
但是使用2方式时,出现一个问题,频繁的请求一个页面,jvm堆中老年代内存持续上升,最终导致OOM,服务器挂掉,以下是我的配置:
 
server.xml:
   <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"                        connectionTimeout="20000"                         executor="tomcatThreadPool"                              maxThreads="2000"                         minSpareThreads="200"                         maxSpareThreads="1000"                         acceptCount="200"                         disableUploadTimeout="true"                        compression="on"                         compressionMinSize="2048"                        enableLookups="false"                        noCompressionUserAgents="gozilla,traviata"                        compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpeg,image/png"                         redirectPort="8443" URIEncoding="UTF-8"/>

tomcat6.conf:

JAVA_OPTS="-Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory -Xms512m -Xmx512m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:PermSize=128M -XX:MaxPermSize=128M -XX:NewRatio=4 -XX:ParallelGCThreads=4 -XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/ -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10208 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.access.file=/usr/share/tomcat6/conf/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/usr/share/tomcat6/conf/jmxremote.password"

Jconsole监控:

 

 

使用默认方式则不会出现这种情况,哪位大神帮忙看看配置是否有问题!谢谢,还望赐教

 

  相关解决方案