(windows下)tomcat优化--内存,并发.缓存三方面优化

一.内存

  注:

  jdk1.8中废弃了-XX:PermSize和-XX:MaxPermSize的持久态(存放常量、静态变量区)配置,

  多了一个元数据区(Metadata Space:默认为内存的0.2%):所以设置元数据区大小的参数也变成对应的MetaspaceSize和MaxMetaspaceSize了。

  

 set JAVA_OPTS=-server -Xms2048M -Xmx2048M -Xss2m   -XX:MetaspaceSize=256m    -XX:MaxNewSize=1024m

  开启tomcat后,使用jps查看端口占用情况:

        bootstrap即是tomcat的进程号

  

  然后用jmap -heap 20372查看详情

  

  上图显示证明配置已经成功. 注:jps和jmap命令必须要配置好java的环境变量.

2.配置优化(并发)

  打开tomcat安装目录\conf\server.xml文件,定位到这一行:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

  这一行就是我们的tomcat容器性能参数设置的地方,它一般都会有一个默认值,这些默认值是远远不够我们的使用的,我们来看经过更改后的这一段的配置:

<Connector 
          port="8080"   
          protocol="HTTP/1.1"   
          maxThreads="1000"   
          minSpareThreads="100"   
          acceptCount="1000"  
          maxConnections="1000"  
          connectionTimeout="20000"   
          maxHttpHeaderSize="8192"  
          tcpNoDelay="true"  
          compression="on"  
          compressionMinSize="2048"  
          disableUploadTimeout="true"  
          redirectPort="8443"  
           enableLookups="false"  
          URIEncoding="UTF-8" />     

   配置线程池:在service标签下Connector之前配置

<!-- 线程池 -->
    <Executor name="tomcatThreadPool"   
         namePrefix="catalina-exec-"   
         maxThreads="1000"   
         minSpareThreads="100"  
         maxIdleTime="60000"  
         maxQueueSize="Integer.MAX_VALUE"  
         prestartminSpareThreads="false"  
         threadPriority="5"  
         className="org.apache.catalina.core.StandardThreadExecutor"/>  

   线程池配置完成后在Connector中引用:

  <Connector 
   		  executor="tomcatThreadPool" ...

    

  

 

 

 

 

参考博客:http://blog.csdn.net/qq525099302/article/details/78396120    

     https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html    

     http://blog.csdn.net/u012562943/article/details/51441157    

     http://blog.csdn.net/wangyonglin1123/article/details/50986524  

  

posted @ 2017-12-17 12:58  生如夏花般绚烂  阅读(4648)  评论(0编辑  收藏  举报