tomcat调优整理

1、tomcat的调优方式

   自身调优

  • 配合NG采用动静分离节约tomcat性能
  • 调整tomcat线程池
  • 调整tomcat的连接器
  • 修改tomcat的运行方式
  • 禁用AJP连接器

   jvm的调优:调整jvm的内存

2、自身调优

   1、调整线程池:配置server.xml,配置Executor

  • name:给执行器(线程池)起一个名字
  • namePrefix:指定线程池中的每一个线程的name前缀
  • maxThreads:线程池中最大的线程数量
    假设:请求的数量超过了“750”,这将不是意味着将maxThreads属性值设置为“750”,它的最好解决方案是使用“Tomcat集群”。
    也就是说,如果有“1000”请求,两个Tomcat实例设置“maxThreads= 500”,而不在单Tomcat实例的情况下设置maxThreads=1000。
  • minSpareThreads:线程池中允许空闲的线程数量(多余的线程都杀死)
  • maxIdLeTime:一个线程空闲多久算是一个空闲线程

   2、调整连接器:配置server.xml,配置connector

  • enableLookups="false":关闭dns解析,减少性能损耗
  • minProcessors:服务器启动时创建的最少线程数
  • maxProcessors:最大可以创建的线程数
  • acceptCount="1000":线程池中的线程都被占用,允许放到队列中的请求数
  • maxThreads="3000":最大线程数
  • minSpareThreads="20":最小空闲线程数,这里是一直会运行的线程

   完整的配置

<Connector port="8080"
        protocol="HTTP/1.1" 
        connectionTimeout="20000" ##超时时间,毫秒,这里是20秒
        redirectPort="443" 
        maxThreads="3000" ##最大线程数
        minSpareThreads="20" ##最小空闲线程数,这里是一直会运行的线程
        acceptCount="1000" ##接收的队列数
        enableLookups="false" ##关闭dns解析,减少性能损耗
        server="None"               
        URIEncoding="UTF-8"   
      />

3、修改tomcat的运行模式

   NIO:Tomcat8以下版本,默认使用的就是BIO(阻塞式IO)模式;Tomcat8以上版本,默认使用的就是NIO模式,非阻塞IO

   APR(Apache Portable Runtime):

  • 是Tomcat生产环境运行的首选方式
  • 如果操作系统未安装apr或者apr路径未指到Tomcat默认可识别的路径,
    则apr模式无法启动,自动切换启动nio模式。
    所以必须要安装apr和native,直接启动就支持apr
  • apr是从操作系统级别解决异步IO问题,apr的本质就是使用jni(java native interface)
    技术调用操作系统底层的IO接口,所以需要提前安装所需要的依赖
  • 提升Tomcat对静态文件的处理性能,当然也可以采用动静分离

      安装参考:https://blog.csdn.net/ClementAD/article/details/47320037(感谢这位大哥)

   4、禁用AJP(Apache JServer Protocol)连接器

      使用NG实现动静分离,不使用AJP协议,可以禁用,配置server.xml文件

3、JVM调优

尝试的参数设置:

#调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8-server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XXermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值