Tomcat配置优化

  • 格式:pdf
  • 大小:577.50 KB
  • 文档页数:5

Tomcat配置优化

⼀、tomcat内存优化

打开bin下catalina.bat⽂件

在⽂件的第⼀处⾮注释⾏出添加

1 set JAVA_OPTS=-server -Xms2g -Xmx2g -Xss256k

参数含义:

-server:以server模式运⾏java程序

-Xms:初始化堆内存⼤⼩

-Xmx:堆内存最⼤容量

-Xss:设定每个线程的堆栈⼤⼩

JDK9之前ParallelGC作为默认垃圾回收器,优化配置JVM需要设置⼤量参数,诸如-XX:NewRatio、-XX:SurvivorRatio等等,但随着JDK不断更迭,繁琐的参数已经不再需要且不再⽀持。JDK9开始,G1作为默认的垃圾回收器,G1GC 不必明确设置新⽣代⼤⼩,其⾃动调

优也⼗分可靠,对于停顿时间往往在长时间运⾏后可以达到预期效果。不建议进⾏过多的配置。

⼆、tomcat线程池优化

打开conf下server.xml

全局搜索executor,在注释中可以找到,同节点位置添加:

1

2 minSpareThreads="100" maxSpareThreads="300" maxThreads="600"

3 maxQueueSize="1000000" maxIdleTime="60000"

4 prestartminSpareThreads="true"/>

然后搜索Connector,找到tomcat的http连接器,添加连接器与线程池关联

1

2 connectionTimeout="20000"

3 redirectPort="8443"

4 executor="tomcatThreadPool" />

参数含义:

namePrefix:线程池中线程的命名前缀。

deamon : 是否守护线程运⾏,默认为true

minSpareThreads:Tomcat线程池的最⼩空闲线程数,等于初始的线程数。

maxSpareThreads:Tomcat最⼤空闲线程数,超过的会被关闭。

maxThreads:Tomcat 可⽤于处理请求的最⼤线程数,默认是200。

maxIdleTime :空闲线程的存活时间 默认为60s,当线程空闲超时后,线程被回收

maxQueueSize :任务队列最⼤⼤⼩,默认为Integer.MAX_VALUE (2147483647 )这太⼤了 有点不合适

prestartminSpareThreads :是否在tomcat启动时就创建minSpareThreads个线程放⼊线程池,默认为false

executorTerminationTimeoutMillis :在停⽌executor时,等待请求处理线程终⽌的超时时间三、Tomcat连接器优化

打开conf下server.xml

搜索Connector,找到tomcat的http连接器,添加参数如下

1

2 connectionTimeout="20000"

3 redirectPort="8443"

4 executor="tomcatThreadPool"

5 maxConnections="10000"

6 acceptCount="1000"

7 enableLookups="false" />

参数含义:

maxConnections:最⼤连接数,当达到该值后,服务器接收但不会处理更多请求,额外的请求将会进⼊TCP等待队列。默认值为8192。

acceptCount:最⼤排队等待数,即连接数达到maxConnections后的TCP等待队列。默认为100。

enableLookups: request.getRemoteHost()获取远程计算机ip,Tomcat9默认为关闭。

四、tomcat⽇志优化

打开conf⽬录下logging.properties⽂件

搜索所有编码设置⾏,进⾏注释即可

原理:由于tomcat9开始默认为UTF-8编码,鉴于windows默认本地编码不同,会出现⽇志乱码,解决⽅法为注掉tomcat配置的编码,这样tomcat就会调⽤系统默认编码。

五、Tomcat安全优化(适⽤于⽣产环境)

移除webapps⽬录下的所有应⽤,防⽌server管理带来的安全漏洞

禁⽤远程shutdown的端⼝

1

或改变shutdown指令

1

六、Tomcat部署优化(适⽤于测试环境)

在tomcat配置⽂件⽬录找到tomcat-users.xml

在配置⽂件tomcat-users

标签内添加下列内容1

2

在conf/Catalina/localhost⽬录中建⽴manager.xml⽂件

编辑manager.xml⽂件内容为

1

2

3

4

打开开发环境中maven项⽬pom⽂件,找到maven插件tomcat7-maven-plugin,进⾏相应的参数配置

1

2 org.apache.tomcat.maven

3 tomcat7-maven-plugin

4 2.2

5

6 http://127.0.0.1:8080/manager/text

7 root

8 root

9 true

10 /centerbusiness

11

12