tomcat 调优

   一。配置  server.xml  

 

    配置说明:    优化步骤分为 :线程池优化参数优化 、连接器参数优化   (如果在 线程池参数 可以在连接器 中  给定参数 。就不需要 打开  <Executor  />  标签 )

              1.  线程池参数优化   

          tomcat  默认  线程 配置是      maxThreads="150" minSpareThreads="4"  即 支持最大线程数 150   最小 线程 4

    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="150" minSpareThreads="4"/>
    -->
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
    maxThreads="1000"
    minSpareThreads="100"
    maxIdleTime="60000"
    prestartminSpareThreads = "true"
    maxQueueSize = "100"
    className="org.apache.catalina.core.StandardThreadExecutor" />
 
   连接器配置 
 
<Connector executor="tomcatThreadPool" URIEncoding="utf-8"
           port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
           enableLookups="false"  //  消除DNS查询对性能的影响我们可以关闭DNS查询。
           maxConnections="2000"
           useURIValidationHack="false"
           keepAliveTimeout="60000"  //  为网络连接超时时间毫秒数
           connectionTimeout="20000"          //  connectionTimeout:网络连接超时 。通常可设置为30000毫秒。 
              maxThreads="1000"   // 即最大并发数
                                     acceptCount="100"  // 当 并发数超过   maxthreads 设置的值 时 。后续的请求   放到队列中  。如果   如果队列满了 泽进行 拒绝 连接 
              minSpareThreads="100"  
              maxSpareThreads="2000"
             minProcessors="100"
             maxProcessors="1000"
                  compression="on"  //  压缩   是否开启压缩GZIP on开启 off 关闭 forde:所有情况下都压缩
               disableUploadTimeout="true"  // 
              tcpNoDelay="true"  如果为true,服务器socket会设置TCP_NO_DELAY选项,在大多数情况下可以提高性能。缺省情况下设为true。
           redirectPort="8443" />
 
     3. 禁用 ajp 协议 
          注释tomcat中server.xml中<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 即可。
 
Windows  平台 直接 打开   catalina.bat
set JAVA_OPTS=-Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxTenuringThreshold=10 -XX:NewRatio=2 -XX:+DisableExplicitGC
 Linux  平台    打开   catalina.sh  修改 
JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxTenuringThreshold=10 -XX:NewRatio=2 -XX:+DisableExplicitGC"
 
参数说明 :
 
#-Dfile.encoding:默认文件编码
#-Xms512m  设置JVM的最小内存为512m,此值可以设置与-Xmx相同以此避免每次垃圾回收完成后JVM重新分配内存。 
#-Xmx1024  设置JVM的最大可用内存
#-XX:NewSize  设置年轻代大小
#-XX:MaxNewSize 设置年轻代最大内存大小
#-XX:PermSize  设置永久代大小
#-XX:MaxPermSize 设置永久代最大内存
#-XX:NewRatio=2 设置年轻代与老年代的比值 2 :表示年轻代与老年代的比值是1:2
#-XX:MaxTenuringThreshold  这种垃圾的最大年龄,默认是15 。 0:表示年轻代不经过Survivor区直接进入老年代,对于老年代较多的应用,设置为0可以提高效率。如果该值较大表示年轻代的对象会在Survivor区进行多次复制,以此增加对象在年轻代的存活时间,增加在年轻代被回收的概率。
#XX:+DisableExplicitGC 应用程序将忽略收到调用GC的代码。及System.GC()是一个空调用。
 
查看 tomcat  连接数  
netstat –nat | grep  8080
 
 
posted @ 2019-01-08 23:44  Cn.Ruyi  阅读(193)  评论(0编辑  收藏  举报