当前位置: 首页 > news >正文

Tomcat调优参数

JVM优化

        Tomcat是一个Web容器,所有的jar其实都共享Tomcat中的JVM参数,所以Tomcat的JVM参数优化至关重要。

        Tomcat的JVM参数是在启动脚本中设置的,如想要设置最大堆内存和最小堆内存时:

        在windows的启动脚本catalina.bat中的set "CURRENT_DIR=%cd%"下面,添加 set JAVA_OPTS=-Xms512m -Xmx512m -XX:ParallelGCThreads=8 -XX:PermSize=128m -XX:MaxPermSize=256m

        在linux的启动脚本catalina.sh中的注释后,既,# OS specific support. $var _must_ be set to either true or false.后添加:JAVA_OPTS="-Xms512m -Xmx512m -XX:ParallelGCThreads=8 -XX:PermSize=128m -XX:MaxPermSize=256m"

        其它的JVM参数也如上设置,如果服务器只跑Tomcat一个应用,那么建议设置最大堆内存为机器总内存的75%—80%,其它情况根据实际进行设置。

连接器优化

        在Tomcat中,连接器是IO事件处理的关键,如果连接器设置好了,则能够处理更多的IO事件,即处理更多的连接。

        连接器的优化内容如下:

        1.关闭Tomcat中默认的AJP连接器,该协议基本用不到而Tomcat默认开启,将其从配置文件中删掉即可。

        2.连接器支持3种运行模式,NIO、BIO、APR,最好设置为NIO模式或者APR模式,如果对并发要求高,最好设置为APR模式,APR模式需要额外的安装类库。

        3.可根据实际情况设置连接器的参数,如:maxThreads、compression、processorCache、acceptCount等。

缓存优化

        1.对于使用共同jar包的项目,可以在Tomcat中添加到共享类加载器中,节省jvm类加载资源,避免重复加载。

        2.启用连接器中的缓冲设置。

其它优化

        1.使用Nginx部署静态资源,最好不要把静态资源放在Tomcat中部署,实现动静隔离。

        2.有条件可以使用CDN加速静态资源

        3.一定要把Tomcat部署在内网环境中,部署Nginx在外层处理连接,让Tomcat只处理内网转发过来的请求,此做法能大大提升性能,因为当网络不好时,会导致很多的超时请求,占用Tomcat的资源,用Nginx把这些有问题的请求拦截在外,节省Tomcat的线程以及IO资源。(如果Tomcat直接对外发布时,处理极限到了,可试试该条优化,极大提升性能)

http://www.lryc.cn/news/354050.html

相关文章:

  • 云计算和大数据处理
  • VAE-变分自编码器(Variational Autoencoder,VAE)
  • Android Room 使用模版
  • Linux/Ubuntu 中安装 ZeroTier,实现内网穿透,2分钟搞定
  • java技术:oauth2协议
  • Java 18 新特性详解
  • 【css3】06-css3新特性之网页布局篇
  • 【开源】大学生竞赛管理系统 JAVA+Vue+SpringBoot+MySQL
  • 跨境选品师不是神话:普通人也能轻松掌握,开启全球贸易新篇章!
  • 前缀和,差分算法理解
  • ubuntu/部分docker容器无法访问https站点
  • 【MySQL】库的基础操作
  • 嵌入式0基础开始学习 ⅠC语言(2)运算符与表达式
  • 汇编语言(一)
  • 2010-2022年各省新质生产力数据(含原始数据+测算代码+计算结果)
  • 需求分析部分图形工具
  • ML307R OpenCPU GPIO使用
  • python基于深度学习的聊天机器人设计
  • Golang设计模式(四):观察者模式
  • huggingface 笔记:查看GPU占用情况
  • JavaSE 学习记录
  • HTML与CSS的学习
  • 【单片机】STM32F070F6P6 开发指南(一)STM32建立HAL工程
  • 源码编译安装Rsync数据同步
  • SQL Server2019安装步骤教程(图文)_最新教程
  • 【SpringBoot】SpringBoot中防止接口重复提交(单机环境和分布式环境)
  • 零基础学Java(全170集)
  • 摄像头应用测试
  • Golang框架HTTP客户端框架zdpgo_resty发送表单请求
  • 【机器学习300问】99、多通道卷积神经网络在卷积操作时有哪些注意事项?