首页>>帮助中心>>服务器使用Tomcat可以做的优化

服务器使用Tomcat可以做的优化

2024/4/22 260次
服务器使用Tomcat可以做的优化

1. Tomcat的运行模式 : bio,nio, apr

一般使用nio模式,bio效率低,apr对系统配置有一些更高的要求


2. 关键配置

maxThreads: 最大线程数,默认是200,

minspareThread: 最小活跃线程数,默认是25

maxqueuesize: 最大等待队列个数


3. 影响性能的配置:

compression 设置成on,开启压缩

禁用AJP连接器: 用nginx+Tomcat的架构,用不到AJP

enableLookups=false 关闭反查域名,直接返回ip,提高效率

disableUploadTimeou=false上传是否使用超时机制

acceptCount=300 ,当前所有可以使用的处理请求都被使用时,传入请求连接最大队列长队,超过

个数不予处理,默认是100

keepalive timeout=120000 场链接保持时间


4. 优化jvm

/bin/catalina.sh

-server:jvm的server工作模式,对应的有client工作模式。使用“java-version”可以查看当前工作

模式

-Xms1024m:初始Heap大小,使用的最小内存

-Xmx1024m:Java heap最大值,使用的最大内存。经验:设置Xms大小等于Xmx大小

-XX:NewSize=512m:表示新生代初始内存的大小,应该小于 -Xms的值

-XX:MaxNewSize=1024M:表示新生代可被分配的内存的最大上限,应该小于-Xmx的值

-XX:PermSize=1024m:设定内存的永久保存区域,内存的永久保存区域,VM存放Class 和 Meta

信息,JVM在运行期间不会清除该区域

-XX:MaxPermSize=1024m:设定最大内存的永久保存区域。经验:设置PermSize大小等于

MaxPermSize大小

-XX:+DisableExplicitGC:自动将System.gc()调用转换成一个空操作,即应用中调用System.gc()


会变成一个空操作,避免程序员在代码里进行System.gc()这种危险操作。System.gc()

除非是到了万不得也的情况下使用,都应该交给 JVM。