java调优之一 —— tomcat优化

       在开发和面试过程中,经常遇到tomcat调优问题,目前可以从以下几个地方去优化;

       1.通过动静分离来节约tomcat的资源

       2.调整tomcat的线程池

       3.调整tomcat的连接器

       4.修改tomcat的运行方式

       5.关闭AJP连接器

      1.通过动静分离来节约tomcat的资源

      动静分离来节约tomact的资源,通常采用;静态资源如果让  Tomcat 处理的话 Tomcat 的性能会被损耗很多,所以我们一般 都是采用:Nginx+Tomcat 实现动静分离,让 Tomcat 只负责    jsp 文件的解析工作,Nginx 实现静态资源的访问。

      2.调整tomcat的线程池和调整tomcat的连接器

      2.1 调整线程池通常和调整tomcat的连接器配合使用,具体修改参数如下:

      <Executor name="tomcatThreadPool"                     

             namePrefix="catalina-exec-" 

             maxThreads="150"               <!--最大处理连接数线程-->

             minSpareThreads="4" 

             maxIdLeTime=“6000” /><!--保留最少线程 数--> 

       2.2  对应连接器的修改如下:

       <Connector  executor="tomcatThreadPool"

                port="8080" 

                protocol="HTTP/1.1"    <!-- 使用的BIO模式-->

                connectionTimeout="20000"

                redirectPort="8443" 

                minProcessors="5"       <!-- 同时处理请求的最小数 -->

                maxProcessors="75"     <!-- 同时处理请求的最大数 -->

                acceptCount="1000" />   <!-- 接受最大并发数量 ,超过这个数量就会返回连接被拒绝 -->

       3. 修改tomcat的运行方式: BIO,AIO,APR三种模式

       3.1.tomcat7.0及之前使用BIO模式(堵塞)

       3.2.tomcat8.0及以后使用AIO模式(非堵塞IO)

       3.3.如果操作系统未安装 APR 或者 APR 路径未指到 Tomcat 默认可识别的路  径,则 APR 模式无法启动,自动切换启动 NIO 模式。所以必须要安装 APR 和 Native,直接启动就支持 APR,APR是从操作系统级别解决异步 IO 问题,APR 的本质就是使用 JNI 技术调用操作系统底层的 IO 接口,所以需要提前安装所需要的依赖

       4.关闭AJP连接器

       AJP的全称 Apache JServer Protocol,使用 Nginx+Tomca t的架构,所以用不着 AJP 协议,所以把AJP连接器禁用。

 配置如下:

 注释<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值