tomcat 性能调优

1.----------------------Linux下修改TomcatJVM内存大小----------------------

要添加在tomcat  的bin 下catalina.sh 里,位置cygwin=false前 。注意引号要带上,红色的为新添加的.

# OS specific support.  $var _must_ be set to either true or false.
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" 
 cygwin=false

 

2 ----------------------windows下修改Tomcat JVM内存大小----------------------

情况一:解压版本的Tomcat , 要通过startup.bat启动tomcat才能加载配置

要添加在tomcat  的bin 下catalina.bat 里

rem Guess CATALINA_HOME if not defined
 set CURRENT_DIR=%cd%后面添加,红色的为新添加的.

set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true


rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
rem gjp add
set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true

 


3.使用线程池

   <!--The connectors can use a shared executor, you can define one or more named thread pools-->
     <!-- open pools -->
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
        maxThreads="800" minSpareThreads="50"
      />
      
      
        <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL HTTP/1.1 Connector on port 8080
   
    <Connector port="8081" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
 -->

    <!-- A "Connector" using the shared thread pool-->
    <!-- open pools  --> 
    <Connector executor="tomcatThreadPool"
               port="8081" protocol="org.apache.coyote.http11.Http11Protocol" 
               connectionTimeout="20000" 
               maxSpareThreads="750"
       acceptCount="800"
               redirectPort="8443" />
               
    
    
               
               
说明
       maxThreads="600" ///最大线程数
       minSpareThreads="100"///初始化时创建的线程数
       maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
       acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

      maxthread太多,导致切换过多,性能下降严重。这个数量应该是你单个机器的承载能力, 压力测试下得出的结果。
       不可任意加大。一般情况下, 256-512个已经非常高的数值

警告: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'maxSpareTheads' to '300' did not find a matching property. 
但是访问应用程序正常。 
 通过网上搜索,具体解决方法如下: 
server.xml中的配置HTTPS的那部分Connector代码 
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                maxThreads="150" scheme="https" secure="true"
                clientAuth="false" sslProtocol="TLS"
                keystoreFile="你的.keystore文件" /> 
将protocol参数由"HTTP/1.1"改成"org.apache.coyote.http11.Http11Protocol",重新启动Tomcat,搞定! 
 根据Tomcat官方的文档http://tomcat.apache.org/tomcat-6.0-doc/config/http.html,"HTTP/1.1"和"org.apache.coyote.http11.Http11Protocol"是一样的,但是不知道为什么前者会出错而后者就是对的,而且HTTP部分的Connector用的也是"HTTP/1.1"。

 4.放开监控页面,查看参数配置

tomcat-users.xml

添加:<role rolename="manager-gui"/>

 

<user username="admin" password="admin123456" roles="manager-gui"/>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值