Tomcat优化

作者: 于飞_d529 | 来源:发表于2019-01-26 11:42 被阅读15次

基本思路

  • 尽量缩短单个请求的处理时间
  • 尽量可能多的并发处理请求
  • 一定要做到能横向扩展

Tomcat的基本优化

合理分配Tomcat需要的内存,设置catalina.sh中的JAVA_OPTS

  • -server:启用JDK的Server版
  • -Xms:虚拟机初始化时的最小内存
  • -Xmx:虚拟机可使用的最大内存(建议到物理内存的80%)
    --XX:PermSize:持久代初始值
  • -XX:MaxPermSize:持久代最大内存(默认是32M)
  • -XX:MaxNewSize:新生代内存的最大内存(默认是16M)

一般设置-Xms,-Xmx相等以避免在每次GC后调整堆的大小,因为默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制
查看配置是否生效: jmap -heap tomcat的进程号

Tomcat本身的配置优化

在server.xml中<Connector>中配置

  • maxConnections:最大连接数,对BIO模式,默认等于maxThreads;对NIO默认10000,对APR/native默认8192
  • maxThreads:最大线程数,即同时处理的任务个数,默认值是200
  • acceptCount:当处理任务的线程数达到最大时,接受排队的请求个数,默认是100
  • minSpareThreads:最小空闲线程数,默认10
  • compression:设置是否开启GZip压缩
  • compressableMimeType:那些类型需要压缩,默认是text/html,text/xml,text/plain
  • compressionMinSize:启用压缩的输出内容大小,默认是2048
  • enableLookups:是否反差域名,为了提高处理能力,应设置false
  • connectionTimeout:网络连接超时,单位毫秒,设置为-1表示永久不超时,通常可设置为2000毫秒

如果要加大并发连接数,应同时加大maxThreads和acceptCount,可以两个设置一样
WebServer允许的最大连接数还受制于操作系统的内核参数设置,可通过ulimit -a查看
如果配置了<Executor>,在<Connector>中通过executor属性指定参照<Executor>,那么<Connector>中关于线程的配置失效,以<Executor>中配置为准

Tomcat三种模式

BIO

BIO是最稳定最老的一个连接器,是采用阻塞的方式,以为着每个连接线程绑定到每个Http请求,直到获得Http响应返回,如果Http客户端请求的是keep-Alive连接,那么这些连接也许一直保持着知道到达timeout时间,此期间不能用于其他请求。

NIO

NIO是使用Java的异步IO技术,不做阻塞,要使用的话,直接修改server.xml里的Connector节点,修改protocol为:protocol="org.apache.coyote.http11.Http11NioProtocol"

APR

APR是使用原生C语言编写的非阻塞I/O,但是需要安装apr和native,直接启动就支持apr,能大幅度提升性能。使用时指定protocol为protocol="org.apache.coyote.http11.Http11AprProtocol".

相关文章

  • tomcat优化

    tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚...

  • Tomcat优化思路

    1 优化思路梳理 2 线程池优化 3 Tomcat 内存优化 4 Tomcat 的其他优化 5 Tomcat三种线...

  • Tomcat优化方案

    1.Tomcat的优化分成两块: Tomcat启动命令行中的优化参数即JVM优化 Tomcat容器自身参数的优化 ...

  • 1.怎样给tomcat调优?

    tomcat优化可分为系统优化,Java虚拟机调优,Tomcat本身的优化 1、Tomcat 自身调优 1) 采用...

  • Tomcat8史上最全优化实践

    1、Tomcat8优化 1.1、Tomcat配置优化 1.1.1、部署安装tomcat8 下载并安装 :https...

  • Centos Tomcat 调优

    Tomcat可以从内存、并发、缓存等方面进行优化 1、Tomcat内存优化: 在tomcat的启动脚本catali...

  • Tomcat内存优化

    Tomcat内存优化主要是对 tomcat 启动参数优化参数。 1.linux 下调整tomcat的内存设置 wi...

  • Tomcat 配置优化

    此文属于配置方面的优化内存、并发、缓存三方面进行优化 一.内存优化 Tomcat内存优化主要是对 tomcat 启...

  • tomcat性能调优

    tomcat性能调优一般从两个方面进行调优: tomcat启动参数优化:即JVM优化(内存) Tomcat 容器自...

  • Tomcat安全设置与优化详解(非原创)

    文章大纲 一、Tomcat简介二、Tomcat安全设置三、Tomcat优化四、参考文章 一、Tomcat简介 To...

网友评论

    本文标题:Tomcat优化

    本文链接:https://www.haomeiwen.com/subject/bafijqtx.html