java web的运行原理及内存分配_Tomcat性能调优及JVM内存工作原理

本文深入探讨了Tomcat的调优方法,包括增大最大连接数、选择合适的工作模式、启用gzip压缩、调整JVM内存大小等。同时,文章详细介绍了Java程序性能优化的关键点——垃圾回收,讨论了不同JVM内存分代结构,如年轻代、老年代、永久代,并分析了各种垃圾回收算法。此外,还提到了如何避免OOM异常以及动静态资源的分离策略。
摘要由CSDN通过智能技术生成

本章聊聊Tomcat如何进行调优。

Java性能优化方向:代码运算性能、内存回收、应用配置。

注:影响Java程序主要原因是垃圾回收,下面会重点介绍这方面

代码层优化:避免过多循环嵌套、调用和复杂逻辑。

Tomcat调优主要内容如下:

1、增加最大连接数

2、调整工作模式

3、启用gzip压缩

4、调整JVM内存大小

5、作为Web时,动静分离

6、合理选择垃圾回收算法

7、尽量使用较新JDK版本

生产环境Tomcat配置:

Connectorport="8080"protocol="org.apache.coyote.http11.Http11NioProtocol"

maxThreads="1000"

minSpareThreads="100"

maxSpareThreads="200"

acceptCount="900"

disableUploadTimeout="true"

connectionTimeout="20000"

URIEncoding="UTF-8"

enableLookups="false"

redirectPort="8443"

compression="on"

compressionMinSize="1024"

compressableMimeType="text/html,text/xml,text/css,text/javascript"

参数说明:

org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio

maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。

minSpareThreads:最小空闲线程数。

maxSpareThreads:最大空闲线程数,如果超过这个值,会关闭无用的线程。

acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。

disableUploadTimeout:禁用上传超时时间

connectionTimeout:连接超时,单位毫秒,0代表不限制

URIEncoding:URI地址编码使用UTF-8

enableLookups:关闭dns解析,提高响应时间

compression:启用压缩功能

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值