Tomcat优化

tomcat常见的优化方法是对tomcat启动参数优化和对tomcat配置文件(tomcat/conf/server.xml)的优化

1.tomcat启动参数优化

对tomcat启动参数优化也是对JVM内存进行调整配置,主要是对tomcat/bin/catalina脚本文件进行修改,

是通过设置JAVA_OPTS参数来调整,JAVA_OPTS常用设置参数项如下:

-server:一定要作为第一个参数,在多个CPU时性能佳,-server是JVM的服务器模式,tomcat启动时,默认采用的是客户端模式,在生产环境中,tomcat以server模式运行时将拥有更大、更高的并发处理能力,更快更强捷的JVM垃圾回收机制,可以获得更多的负载与吞吐量等各种优势。

-Xms:tomcat 启动时分配的最小内存,默认是物理内存的1/64。

-Xmx:tomcat 运行时可使用的最大内存,建议设为物理内存的一半,不可超过实际物理内存。

(-Xms-Xmx是jvm内存分配值,把Xms与Xmx两个值设成一样是最优的做法;设置值时通过命令校验:java -Xmx2048M -version,在分配2G内存的情况下查询jdk版本,如果能正常显示,则说明jvm能够使用的最大值没有超出物理内存允许的值。(注意:win系统,32位的有限制JVM最大可用为2GB内存,64位系统无限制。))

-XX:PermSize:设定内存永久保存区的初始值,缺省值为64M。

-XX:MaxPermSize:设定内存的永久保存区最大值,缺省值为64M。

-Xmn:young generation(年轻代)的heap大小,一般设置为Xmx的3到4分之一 (Sun官方推荐配置为整个堆的3/8)

更多参数项可参考JAVA_OPTS Java虚拟机参数说明_CSDN博客_java_opts

ps:Linux和Windows系统添加设置JAVA_OPTS参数的位置不一样

Linux下,是修改tomcat/bin/catalina.sh文件,在cygwin=false的上一行添加JAVA_OPTS,如:

Windows下,是修改tomcat/bin/catalina.sh文件,在@echo off下一行追加
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m

需要注意的是,在jdk8.0及以上版本,-XX:PermSize和-XX:MaxPermSize似乎已不被支持使用,本次使用的是jdk1.8.0版本、tomcat10版本,设置这两项参数后启动tomcat时有如下提示:

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=64m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=64m; support was removed in 8.0

 

2.tomcat配置文件优化(tomcat/conf/server.xml)

主要是在conf/server.xml配置文件中进行对连接数进行修改,在该文件中找到Connector port=“8080” protocol=“HTTP/1.1”这一行,进行修改如下:

<Connector port=“8080” protocol="HTTP/1.1"connectionTimeout=“30000” redirectPort="8443"acceptCount=“500” maxThreads=“400” />

maxThreads:tomcat可用于请求处理的最大线程数,默认是200

minSpareThreads:tomcat初始线程数,即最小空闲线程数

maxSpareThreads:tomcat最大空闲线程数,超过的会被关闭

acceptCount:当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认100

 

posted @ 2022-04-29 09:53  诟笑  阅读(73)  评论(0编辑  收藏  举报