• Tomcat 内存和线程配置优化


    1. tomcat 的线程配置参数详情如下:

      修改conf/server.xml中的<Connector .../> 节点如下:

      <Connector port="8080" protocol="HTTP/1.1"
                  maxThreads="600"
                  minSpareThreads="100"
                  maxSpareThreads="500"
                  acceptCount="700"
                  connectionTimeout="20000"
                  redirectPort="8443"
                  URIEncoding="utf-8"

      />

      参数配置:

      maxThreads :  最大线程数

      minSpareThreads :  初始化时的线程数

      maxSpareThreads : 一但创建的线程数超过这个值,Tomcat就会关闭不再需要的socket线程。

      accepCount : 指当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

    2. tomcat线程池配置:(用较少的线程处理较多的访问,可以提高tomcat处理请求的能力)

      a) 打开conf/server.xml ,增加节点 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />

      maxThreads : 最大线程500

      minSpareThreads : 最小线程20

      maxIdleTime : 线程最大空闲时间60s

      b) 修改<Connector ...>节点,增加executor属性如下:

      <Connector executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" connectionTimeout="60000" keepAliveTimeout="15000" maxKeepAliveRequests="1" redirectPort="443" maxHttpHeaderSize="8192" URIEncoding="UTF-8" enableLookups="false" acceptCount="100" disableUploadTimeout="true"/>

      参数解释:

      connectionTimeout :网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

      keepAliveTimeout :长连接最大保持时间(毫秒)。此处为15秒。

      maxKeepAliveRequests :最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。一般设置在100~200之间)。

      maxHttpHeaderSize : http请求头信息的最大程度,超过此长度的部分不予处理。一般8K。

      URIEncoding :Tomcat容器的URL编码格式。

      acceptCount :指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认为10个。

      disableUploadTimeout :上传时是否使用超时机制。

      enableLookups :是否反查域名,取值为:true或false。为了提高处理能力,应设置为false。

      bufferSize :defines the size (in bytes) of the buffer to be provided for input streams created by this connector. By default, buffers of 2048 bytes are provided.

      maxSpareThreads :做多空闲连接数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

      maxThreads :最多同时处理的连接数,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。

      minSpareThreads :最小空闲线程数,Tomcat初始化时创建的线程数。

      注意:Tomcat5+主要对以下参数调整 maxThreads Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。 acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。 connnectionTimeout 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 minSpareThreads Tomcat初始化时创建的线程数。 maxSpareThreads 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

      

    3. tomcat启动时候的jvm的配置参数信息在tomcat下面的bin目录:

      在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:

      window下:

      必须加在catalina.bat最前面: set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m 

      linux下:

      必须加在catalina.sh最前面: JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -  Duser.timezone=Asia/Shanghai"

      注意:前后二者区别,有无set,有无双引号。  

  • 相关阅读:
    WPF数据爬取小工具-某宝推广位批量生成,及订单爬取 记:接单最痛一次的感悟
    .net core2.1
    Ng Alain使用
    MediatR
    RN错误随笔
    【转载】DDD分层架构的三种模式
    1.RN环境搭建,创建项目,使用夜神模拟调试
    ExtJs4 笔记(2) ExtJs对js基本语法扩展支持
    ExtJs4 笔记(1) ExtJs大比拼JQuery:Dom文档操作
    vue的父子通信
  • 原文地址:https://www.cnblogs.com/junhuijiang/p/4761267.html
Copyright © 2020-2023  润新知