Liunx下Tomcat9+1.8JDK环境的Tomcat配置调优

文章目录

  • 前言
  • Tomcat调优
    • JVM调优(内存优化)
    • 并发、缓存、IO优化

前言

关于Tomcat的配置调优,网上大多都是以前的版本,针对现在Tomcat9+1.8JDK的环境有些配置已经变了,不过变动不大,这里也只是阐述一部分。

Tomcat调优

主要从内存、缓存、并发、IO4个方面入手

JVM调优(内存优化)

//Liunx中找到tomcat中catalina.sh文件在cygwin=false上方添加以下配置:
JAVA_OPTS=" -server -Xms512m -Xmx1024m -XX:MetaspaceSize=256M"

参数说明
JAVA_OPTS参数说明 :
   -server: 启用jdk 的 server 版;
   -Xms: java虚拟机初始化时的最小内存,JVM初始化堆的大小;
   -Xmx: java虚拟机可使用的最大内存,JVM堆的最大值;
   -XX:MetaspaceSize 初始元空间大小,达到该值就会触发垃圾收集进行类型卸载,同时GC会对该值进行调整:如果释放了大量的空间,就适当降低该值;如果释放了很少的空间,那么在不超过MaxMetaspaceSize时,适当提高该值。
-XX:MaxMetaspaceSize 用于设置metaspace区域的最大值,这个值可以通过mxbean中的MemoryPoolBean获取到,如果这个参数没有设置,那么就是通过mxbean拿到的最大值是-1,表示无穷大。

XX:MetaspaceSizeXX:MetaspaceSize是新增的,原来的是XX:PermSizeXX:MaxPermSize,如果用了原来的在Tomcat启动或关闭时会提醒你找不到相关定义

并发、缓存、IO优化

由于这三块都是在Tomcat中conf/server.xml文件的相同地方做更改,所以我就直接写一起了。
将server.xml文件中

<Connector port="8080" protocol="HTTP/1.1" maxHttpHeaderSize="8192" redirectPort="8443" disableUploadTimeout="true"/>

改为:

<Connector port="8080" 
	protocol="org.apache.coyote.http11.Http11NioProtocol" 
	enableLookups="false"            
	maxThreads="1000"               
	minSpareThreads="100"                            
	acceptCount="5000"               
	disableUploadTimeout="true"              
	connectionTimeout="30000"               
	URIEncoding="UTF-8"                           
	redirectPort="8443"               
	compression="on"              
	compressionMinSize="1024" 
	useSendfile="false"           
	compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript "/>

参数说明
org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio
maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。
minSpareThreads:最小空闲线程数。
acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。
disableUploadTimeout:禁用上传超时时间
connectionTimeout:连接超时,单位毫秒,0代表不限制
URIEncoding:URI地址编码使用UTF-8
enableLookups:关闭dns解析,提高响应时间
compression:启用压缩功能
compressionMinSize:最小压缩大小,单位Byte
compressibleMimeType :压缩的文件类型
useSendfile:默认为true。如果启用此功能,则发送会优先于压缩。

你可能感兴趣的:(Tomcat,tomcat,linux,jvm)