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 3 4 5 6 7 8 9 10 11 12