精华内容
下载资源
问答
  • tomcat调优
    2022-03-09 14:26:44

    server.port: 9002
    tomcat:
    max-connections: 10000
    max-threads: 10000

    max-http-post-size: 2097152

    max-post-size: 0 #取消post参数大小限制,默认为2M
    min-spare-threads: 20 #线程池内线程数下限,默认值为25
    background-processor-delay: 10 #Engine及其部分子组件(Host、Context)调用backgroundProcessor方法的时间间隔。

    backgroundProcessorDelay为负,将不调用backgroundProcessor,backgroundProcessorDelay的默认值为10

    accept-count: 1000 #Connector请求队列的上限, 默认为100。当该Connector的请求队列超过acceptCount时,将拒绝接收请求
    jetty: #Connector请求队列的上限, 默认为100。当该Connector的请求队列超过acceptCount时,将拒绝接收请求
    acceptors: 1000
    max-http-post-size: 2097152
    max-http-header-size: 2097152

    更多相关内容
  • tomcat调优

    2022-06-02 20:06:30
    tomcat调优
    一、tomcat线程数
    可以参照https://blog.csdn.net/luoyang_java/article/details/85790435
    Tomcat配置文件server.xml中:Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine(也就是Servlet容器)来处理这个请求,并把产生的Request和Response对象传给Engine。
    当Engine处理完请求后,也会通过Connector将响应返回给客户端。
    可以说,Servlet容器处理请求,是需要Connector进行调度和控制的,Connector是Tomcat处理请求的主干,因此Connector的配置和使用对Tomcat的性能有着重要的影响。
    
    acceptCount
    accept队列的长度;当accept队列中连接的个数达到acceptCount时,队列满,进来的请求一律被拒绝。默认值是100;当tomcat启动的线程数达到最大时,接收排队的请求个数。
    
    maxThreads
    tomcat启动的最大线程数,即同时处理的任务个数,默认为200
    如果该Connector绑定了Executor,这个值会被忽略,因为该Connector将使用绑定的Executor,而不是内置的线程池来执行任务。
    maxThreads的值并不是越大越好,如果maxThreads过大,那么CPU会花费大量的时间用于线程的切换,整体效率会降低。
    
    tomcat同时可以处理的连接数目是maxConnections,但服务器中可以同时接收的连接数为maxConnections+acceptCount 。
    acceptCount的设置,与应用在连接过高情况下希望做出什么反应有关系。
    如果设置过大,后面进入的请求等待时间会很长;如果设置过小,后面进入的请求立马返回connection refused。
    
    tomcat工具probe,检查当前忙碌线程数与处理时间等参数
    
    二、tomcat值JVM调优
    可以参照https://www.cnblogs.com/w-hao/p/11519483.html
    主要调整JVM启动参数:调整各代的内存比例和垃圾回收算法,提高吞吐量。
    JVM性能调优主要是内存调优、垃圾回收策略调优。设置tomcat/bin下的catalina.sh文件中的JAVA_OPTS变量即可。
    
    常见的是对-XX参数的调整,如-Xms和-Xmx分别设置jvm的堆内存的初始大小和最大大小。java虚拟机的垃圾回收策略一般分为:串行收集器、并行收集器、并发收集器
    
    三、命令行查看 Tomcat 指标
    可以参照https://zhuanlan.zhihu.com/p/142671735
    1. 首先我们通过 ps 命令找到 Tomcat 进程,拿到进程 ID
    2. 接着查看进程状态的大致信息,通过cat/proc/<pid>/status命令
    3. 监控进程的 CPU 和内存资源使用情况
    4. 查看 Tomcat 的网络连接,比如 Tomcat 在 8080 端口上监听连接请求,通过下面的命令查看连接列表
    5. 通过 ifstat 来查看网络流量,大致可以看出 Tomcat 当前的请求数和负载状况
    

    四、总结

    tomcat性能调优包括内存大小/回收策略、连接数、运营模式。查看服务器的状态,有JDK自带的jconsole工具工具可以方便的查看线程信息(此外还可以查看cpu、内存、类、jvm基本信息),
    推荐使用Tomcat自带的manager工具,可以为tomcat服务器添加后台监控、VisualVM监控、GC监控。
    >>内存大小/回收策略
    JVM性能调优主要是内存调优、垃圾回收策略调优。设置tomcat/bin/catalina.sh文件中的JAVA_OPTS变量即可。JVM堆的大小应为物理内存的80%,-Xms和-Xmx分别设置
    jvm的堆内存的初始大小和最大大小,-Xmn设置年轻代内存大小,sun官方推荐配置为整个堆的3/8.GC机制是需要组合使用的,新生代没有并发一说。
    吞吐量优先的并行收集器(并行标识Parallel,经典配置如年轻代并行+年老代并行),-XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC,配置并行收集器
    的线程数,此值最好配置与处理器数目相等。
    响应时间优先的并发收集器(并发标识CMS,经典配置如年轻代并行+年老代并发),-XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=5
    -XX:+UseCMSCompactAtFullCollection,最后一个参数设置运行多少次GC后对内存空间进行压缩、整理;打开对年老代的压缩。
    >>连接数
    主要关注acceptCount、maxConnections、maxThreads运行模式。
    >>运行模式
    Apr是在Tomcat上运行高并发应用的首选模式,但是需要安装apr、apr-utils、tomcat-native等包。
    >>其他
    compression=“on”       开启压缩功能。
    compressionMinSize:2kb         启用压缩的输出内容大小。默认2kb。
    compressableMimeType:text/html,text/javascript,text/css         压缩文件类型
    展开全文
  • Tomcat 调优的技巧

    2022-04-17 13:59:54
    最近在补充自己的短板,刚好整理到Tomcat调优这块,基本上面试必问,于是就花了点时间去搜集一下tomcat调优 都调了些什么,先记录一下调优手段,更多详细的原理和实现以后用到时候再来补充记录,下面就来介绍一下, ...

    描述

    最近在补充自己的短板,刚好整理到Tomcat调优这块,基本上面试必问,于是就花了点时间去搜集一下tomcat调优
    都调了些什么,先记录一下调优手段,更多详细的原理和实现以后用到时候再来补充记录,下面就来介绍一下,
    tomcat调优大致分为两大类:

    一、tomcat的自身调优

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

    二、jvm的调优

    • 调优Jvm内存

    tomcat自身调优

    采用动静分离

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

    调优tomcat的线程池

    • 打开tomcat的serve.xml
    • 配置Executor

    参数解释

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

    调优tomcat的连接器Connector

    • 打开tomcat的serve.xml
    • 配置Connector

    参数解释

    • executor
      指定这个连接器所使用的执行器(线程池)

    • enableLookups="false"
      关闭dns解析,减少性能损耗
    • minProcessors
      服务器启动时创建的最少线程数
    • maxProcessors
      最大可以创建的线程数
    • acceptCount="1000"
      线程池中的线程都被占用,允许放到队列中的请求数
    • maxThreads="3000"
      最大线程数
    • minSpareThreads="20"
      最小空闲线程数,这里是一直会运行的线程
    • 和压缩有关系的配置
      如果已经对代码进行了动静分离,静态页面和图片等数据就不需要 Tomcat 处理了,
      那么也就不需要配置在 Tomcat 中配置压缩了
    • 一个完整的配置
    <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"   
          />

    *关于Connector的配置文档

    通过修改tomcat的运行模式

    BIO

    • Tomcat8以下版本,默认使用的就是BIO(阻塞式IO)模式

    对于每一个请求都要创建一个线程来进行处理,不适合高并发

    NIO

    • 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对静态文件的处理性能,当然也可以采用动静分离

    禁用AJP连接器

    Apache JServer Protocol
    使用Nginx+tomcat的架构,所以用不着AJP协议,所以把AJP连接器禁用

    JVM的调优

    tomcat是运行在jvm上的,所以对jvm的调优也是非常有必要的。

    调优内存

    • 找到:catalina.sh

    • 添加的位置

    • 尝试的参数设置
    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"

    调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求,

    如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,

    ,咱们下期见!

    答案获取方式:已赞 已评 已关~

    展开全文
  • Tomcat调优教程

    2021-01-07 17:31:25
    Tomcat调优参数 主要调优参数 在做Tomcat的调优时,最重要是就是Connector(连接器)的调优了(少数情况下,也可能会配置Executor) 下面贴出一段server.xml中的配置: <Executor name="tomcatThreadPool" name...

    TIPS
    本文基于Tomcat 9.0编写,理论兼容Tomcat 8.x及更高版本。

    Tomcat调优参数

    主要调优参数

    在做Tomcat的调优时,最重要是就是Connector(连接器)的调优了(少数情况下,也可能会配置Executor)

    下面贴出一段server.xml中的配置:

    <Executor name="tomcatThreadPool"
      namePrefix="catalina-exec-"
      maxThreads="150"
      minSpareThreads="4"/>
    
    <Connector port="8080"
      protocol="HTTP/1.1"
      connectionTimeout="20000"
      redirectPort="8443"
      executor="tomcatThreadPool"/>
    

    一个文件中可以有多个Connector以及多个Executor,其中:

    • Connector:负责接收客户端的请求以及向客户端回送响应的消息
    • Executor:指定线程池,从而在多个Connector(主要)及其他组件之间共享

    TIPS
    对执行原理感兴趣的童鞋可以参阅下这篇文章,写得相当棒:https://blog.csdn.net/zzzgd_666/article/details/88740198 。由于本文重点在于“调优”,所以就不赘述了。

    Connector常用属性

    Connector负责接收客户端的请求以及向客户端回送响应的消息。Tomcat 9.0有三类Connector:

    • HTTP/1.1(HTTP Connector)
    • HTTP/2(HTTP2 Upgrade Protocol)(Tomcat 8.5引入)
    • AJP(AJP Connector)

    但不管哪种Connector,工作过程都是类似的:

    • 每个请求都需要1个线程去处理
    • 如果接收到的并发请求 > 当前处理请求的线程所能处理的数量,则创建其他线程去处理,直到达到maxThreads为止
    • 如果线程数达到maxThreads设置的值后,依然接收到更多的请求,那么请求将会堆积在Connector创建的server socket中(即accept队列),直到达到acceptCount的值为止。如果堆积的请求数目达到acceptCount后,依然受到更多的请求,那么直接返回connection refused

    常用属性如下:

    TIPS

    • 加粗的表示Tomcat调优常用的参数
    • 这里只列出了Connector常用属性,要想阅读完整属性,可使用如下方式:
      • 方式一、访问 http://tomcat.apache.org/tomcat-9.0-doc/config/http.html ,将9.0修改为你的Tomcat版本即可,比如想看Tomcat 8的文档,可将9.0改为8.0;
      • 方式二、下载Tomcat并启动,访问 /docs/config/http.html 路径即可。例如:http://localhost:8080/docs/config/http.html
    • minSpareThreads:始终保持运行状态的线程数,默认值10。即便超过了最大空闲时间(maxIdleTime),也不会被回收。如果配置了Executor,将忽略此属性

    • maxThreads:Connector创建来处理请求的最大线程数,此参数决定了可以同时处理的请求的最大数量,默认200。如果配置了Executor,将忽略此属性。超过则放入请求队列中进行排队。

    • maxConnections:Tomcat在任意时间接收和处理的最大连接数。当连接数达到maxConnections时,仍可基于acceptCount的配置接受连接,但并不会处理,直到Tomcat接收的连接数小于maxConnections。
      默认值与Connector使用的协议有关:

      • NIO的默认值是10000
      • APR的默认值是8192
      • BIO的默认值为maxThreads(如果配置了Executor,则默认值是Executor的maxThreads)
      • 在Windows下,APR/native的maxConnections值会自动调整为设置值以下最大的1024的整数倍;如设置为2000,则最大值实际是1024。如果设置为-1,则连接数不受限制。
    • connectionTimeout:网络连接超时时间,单位毫秒,默认60000。设为0表示永不超时,一般不建议。除非将disableUploadTimeout设置为false,否则读取request body时也会使用该超时。

    • acceptCount:当最大线程数(maxThreads)被使用完时,可以放入请求队列的队列长度,默认100。一旦队列满了,就会返回connection refused。因此,如果设置过大,后面进入的请求等待时间会很长;如果设置过小,后面进入的请求立马返回connection refused。一般可设置成和maxThreads相同,但具体还需根据自己的应用实际访问峰值和平均值来权衡。

    • enableLookups:是否启用DNS查找功能。如果设为true,会用request.getRemoteHost()执行DNS lookup,从而返回远程客户端的主机名。设为false则跳过DNS lookup,并以字符串形式返回IP地址,从而提高性能,默认false,生产环境建议保持关闭。

    • compression:是否开启GZIP压缩。取值off(禁用)、on(打开,压缩文本数据),force(强制压缩所有格式)、数字(表示数据量达到该值就GZIP传输)。

    • port:指定Tomcat监听的端口

    • protocol:为Connector设置使用什么协议处理入口流量,默认值 HTTP/1.1 ,使用此值的话,对于Tomcat 8及更高版本,会自动根据当前情况,使用基于NIOConnector或基于APR的Connector;对Tomcat 7及更低版本会自动根据情况使用基于BIO的Connector或基于APR的Connector。如果不想自动切换,也可人工指定协议(从Tomcat 8开始,一般无需人工设置):

    // BIO,这种模式下,使用传统的I/O操作(即java.io包及其子包),性能较差。
    protocol="org.apache.coyote.http11.Http11Protocol"
    
    // NIO,使用NIO操作(即java.nio包及其子包),比传统I/O拥有更好的并发性能
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    
    // NIO2,使用NIO2操作(NIO2是JDK 7引入的特性),Tomcat 8引入
    protocol="org.apache.coyote.http11.Http11Nio2Protocol"
    
    // APR,使用APR操作。APR即Apache Portable Runtime,这是一个Apache HTTP服务器的支持库。你可以认为:此模式下,Tomcat将以JNI的形式调用 Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而提高Tomcat对静态文件的处理性能
    protocol="org.apache.coyote.http11.Http11AprProtocol"  
    

    下图展示了不同Connector之间的区别:
    在这里插入图片描述

    • connectionUploadTimeout:指定上传时的超时。disableUploadTimeout需设置成false才有效

    • disableUploadTimeout:设置为true,上传超时使用connectionTimeout,设置成false,上传超时使用connectionUploadTimeout。默认true

    • redirectPort:表示安全通信(https)转发端口

    • executor:指定executor名称。如果设置了此属性,则Connector将使用该Executor执行程序。如果不设置executor属性,则Connector将使用内部私有的Executor来提供线程池。该属性主要用来实现在多个Connector及其他组件之间共享线程池。

    TIPS
    压缩带来的好处是减少带宽,但缺点在于增加了服务器的CPU开销。就笔者个人的经验,很少直接用Tomcat的GZIP功能,更多使用NGINX的GZIP。

    maxConnectionsmaxThreadsacceptCount之间的关系

    我们把Tomcat想象成是一个餐厅,请求就像是去就餐的顾客。这个餐厅非常火爆,当处理不过来的时候,就会排号。

    • acceptCount
      可以类比为餐厅的排号处能够容纳排号的最大数量,排号的数量不是无限制的,一旦达到上限,就说已经客满(直接返回connection refused)

    • maxConnections
      可以类比为餐厅的大堂的餐桌数量,也就是可以就餐的桌数。

      • 如果当前连接数尚未达到maxConnection,说明还有空闲的餐桌,直接上桌即可。
      • 如果所有餐桌都已经坐满,但是排号人数尚未达到 acceptCount,那么就排个号,等着叫号(此时,尽管还能接受请求,但是不会处理你的请求,除非有桌子空闲了)
      • 如果取号的人数已经达到acceptCount,则取号失败,直接拒绝服务(直接返回connection refused)
    • maxThreads
      可以类比为厨师的个数。厨师一开始只有10个(最少minSpareThreads个),如果发现忙不过来的时候,就会增加几个厨师,一致增加到maxThreads个厨师。如果还是不够,那就只能慢慢等着上菜了。这就像是你去吃饭,有时候上一道菜都吃完了,下一道菜还没有上。只不过,在计算机的世界,厨师的数量也不能无止境地增加下去。因为线程数目只要超过CPU核心数,就会存在CPU切换的开销,线程数越多,切换开销越大,所以说maxThreads设置也不能太大。

    Executor常用属性

    定义线程池,从而在多个Connector(主要)及其他组件之间共享。Executor必须实现org.apache.catalina.Executor接口。

    常用属性如下:

    TIPS
    这里只列出了Connector常用属性,,要想阅读完整属性,可使用如下方式:

    • 方式一、访问 http://tomcat.apache.org/tomcat-9.0-doc/config/executor.html ,将9.0修改为你的Tomcat版本即可,比如想看Tomcat 8的文档,可将9.0改为8.0
    • 方式二、下载Tomcat并启动,访问 /docs/config/executor.html 路径即可。例如:http://localhost:8080/docs/config/executor.html
    • className:Executor的实现类。必须实现org.apache.catalina.Executor接口。默认值为org.apache.catalina.core.StandardThreadExecutor

    • name:Executor名称,必填且必须唯一

    • threadPriority:指定线程的优先级,默认5(Thread.NORM_PRIORITY)

    • daemon:是否为守护线程,默认true

    • namePrefix:指定Executor创建的线程的名称前缀。线程名称格式为namePrefix+threadNumber

    • maxThreads:活动线程的最大数量,默认200

    • minSpareThreads:使用保持活动状态的最小线程数(空闲和活动),默认25

    • maxIdleTime:线程最大空闲时间,单位毫秒,默认60000(1分钟)。达到该时间后就会把该线程关闭(当然如果当前活动线程数 < minSpareThreads不会关闭)

    • maxQueueSize:拒绝执行之前可以排队等待执行的任务数量,默认Integer.MAX_VALUE

    • prestartminSpareThreads:在启动Executor时是否就启动minSpareThreads个线程,默认false

    • threadRenewalDelay:如果配置了ThreadLocalLeakPreventionListener,它将会通知Executor有关上下文停止的信息。一旦上下文停止后,线程池中的线程将会被更新。为了避免同时更新线程,可用此属性设置更新的延迟。默认1000,单位毫秒,如果设成负数,则线程不会被更新。

    其他调优参数

    Host

    Host表示虚拟主机。

    server.xml

    <Host name="localhost" autoDeploy="true">
    </Host>            
    

    这里只列出了Host的调优属性,,要想阅读完整属性,可使用如下方式:

    • 方式一、访问 http://tomcat.apache.org/tomcat-9.0-doc/config/host.html ,将9.0修改为你的Tomcat版本即可,比如想看Tomcat 8的文档,可将9.0改为8.0
    • 方式二、下载Tomcat并启动,访问 /docs/config/host.html 路径即可。例如:http://localhost:8080/docs/config/host.html
    • autoDeploy:是否要让Tomcat周期性检查新的或更新了的Web应用程序。如果设为true,则Tomcat会定期检查appBase和xmlBase目录,并自动部署。默认true。由于autoDeploy=true时,会启用一个定时任务,如果没有“自动部署”的需求,可将其设为false。

    Spring Boot/Spring Cloud项目支持的调优参数

    server:
      # 等价于Connector.connectionTimeout
      connection-timeout: 60s
      tomcat:
        # 等价于Connector.acceptCount
        accept-count: 100
        # 等价于Connector.maxConnections
        max-connections: 10000
        # 等价于Connector.maxThreads
        max-threads: 200
        # 等价于Connector.minSpareThreads
        min-spare-threads: 10
      # TIPS:压缩带来的好处是减少带宽,但缺点在于增加了服务器的CPU开销。就笔者个人的经验,很少直接用Tomcat的GZIP功能,更多使用NGINX的GZIP。
      compression:
        # 是否开启GZIP,默认关闭
        enabled: false
        # 执行压缩所需的最小响应大小,默认2KB
        min-response-size: 2KB
        # 想要GZIP的格式,默认"text/html", "text/xml", "text/plain",
    			"text/css", "text/javascript", "application/javascript", "application/json",
    			"application/xml"
        mime-types: "text/html", "text/xml"
    

    其他调优

    Tomcat Session调优

    一、JSP与Session

    如果使用JSP的话,如果业务允许,考虑考虑加上以下内容:

    <%@ page session="false" %>
    

    高并发场景下,可能会导致内存溢出。

    二、为Session设置合理的超时

    超时时间不宜过长,否则也可能会造成内存上的压力。

    • 对于传统Tomcat项目,只需在应用的 web.xml 中添加如下内容:
    <!-- 配置Session失效时间,单位分钟 -->  
    <session-config>  
            <session-timeout>30</session-timeout>  
    </session-config> 
    
    • 对于Spring Boot项目,通过如下配置设置Session即可。
    server:
      servlet:
        session:
          timeout: 30m
    
    展开全文
  • Tomcat调优

    2019-07-05 11:56:25
    Tomcat maxThreads、acceptCount和maxConnections 经实际测试,请求数超过 (acceptCount+acceptCount)的话,客户端会收到java.net.ConnectException: Connection refused: connect; 服务端运行的线程数 如果...
  • springboot内嵌tomcat调优

    2022-04-26 08:24:56
    在springboot-configuration-metadata.json文件下面,有很多属于springboot得喷子hi属性,以下为tomcat的默认配置属性: server.tomcat.accept-count:等待队列长度,默认100(队列也做缓冲池用,但也不能无限长, ...
  • tomcat jvm 调优
  • tomcat防止恶意攻击,内存溢出解决办法,部署多个tomcat,并做成Windows服务自启动
  • Linux下的Tomcat调优

    2022-04-28 16:21:27
    Liunx下Tomcat调优指南 1 概述 由于Tomcat的运行依赖于JVM,从虚拟机的角度我们把Tomcat的调整分为外部环境调优和自身调优两类来描述。 2 调优方案 1.1 外部环境调优 1) 操作系统性能优化 对于操作系统优化来...
  • Tomcat服务部署及优化一级目录二级目录三级目录 一级目录 二级目录 三级目录
  • SpringBoot内嵌tomcat调优

    千次阅读 2020-07-15 10:41:53
    tomcat: accept-count: 100 # 最大连接等待数,默认100 max-connections: 10000 #最大连接数,默认为10000 max-threads: 200 #最大工作线程数,默认200 min-spare-threads: 10 #最小工作线程数,默认10 最大...
  • Tomcat调优(详细)

    千次阅读 2020-06-16 09:37:34
    Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面,分为系统优化,Tomcat 本身的优化,Java 虚拟机(JVM)调优。系统优化就不在介绍了,接下来就详细的介绍一下
  • 1、Tomcat调优 1.1 修改Tomcat Connecto的运行模式 首先说明下tomcat connector运行的3中模式及区别: 1)bio 默认的模式,同步阻塞,性能非常低下,没有经过任何优化处理和支持. 2)nio 同步非阻塞,利用java的...
  • 优化之SpringBoot 内置tomcat 调优测试

    千次阅读 2021-01-13 23:37:48
    怎么配置springBoot 内置tomcat,才能使得自己的服务效率更高呢? 基础配置 Spring Boot 能支持的最大并发量主要看其对Tomcat的设置,可以在配置文件中对其进行更改。我们可以看到默认设置中,Tomcat的最大线程...
  • Tomcat调优参数

    千次阅读 2020-03-19 15:34:35
    tomcat的整体结构: tomcat主要有两个核心的功能: 1.处理socket连接,字节流的request responese转换 2.加载管理servlet 所以 tomcat设计了两个组件: connector和container 容器在xml中是这样呈现的 tomcat的...
  • tomcat调优.zip

    2022-01-17 00:13:14
    JAVA编程之-tomcat优化详解
  • 对象池技术的目的就是对象的缓存和复用,以空间换时间。...Tomcat里面NIO的实现是交给Endpoint组件完成的,NioEndpoint是基于JDK的NIO实现的多路复用的IO模型,并且Tomcat的网络模型是。Acceptor和Poller是通过。...
  • tomcat调优 tomcat配置优化

    千次阅读 2020-08-06 15:49:59
    maxSpareThreads:tomcat最大空闲线程数,超过的会被关闭 acceptCount:最大排队等待数,当服务器接收到的请求数量达到maxConnections时,后面的请求将会进入任务队列中排队,这个参数就是排队的等待的请求数,超过...
  • [深度讲解]JVM调优\Tomcat调优

    千次阅读 多人点赞 2021-08-23 09:00:24
    性能调优 1、代码优化 所谓代码优化是指对程序代码进行等价(指不改变程序的运行结果)变换。等价的含义是使得变换后的代码运行结果与变换前代码运行结果相同。优化的含义是最终生成的目标代码(运行时间更短、占用...
  • 它的目的是替换和扩展 Tomcat 管理器,使得管理和监视 Apache Tomcat 的实例更容易。与许多其他服务器监控工具不同, psi-prob e 不需要对现有应用程序进行任何更改。它通过一个 Web 可访问的接口提供它的所有特性,...
  • 关于Tomcat调优和JVM优化,我听完这个的时候,当时就想说,问这个不是应该的么?那么下面阿粉就给大家好好的掰扯掰扯这个Tomcat优化和 JVM 参数优化的事情Tomcat关于Tomcat是什么东西,相信大家做开发的,肯定是一点...
  • Tomcat调优-内存调优

    2020-01-21 11:14:19
    本文以Tomcat9为例进行调优。 1、打开Tomcat\bin\catalina.bat rem Guess CATALINA_HOME if not defined set CURRENT_DIR=%cd% 后面添加如下内存设置 set JAVA_OPTS=-Xms1024m -Xmx2048m -XX:PermSize=128M -XX:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,165
精华内容 14,866
关键字:

tomcat调优

友情链接: em28xx-video.rar