1、Tomcat9调优
tomcat9 的调优
配置优化
vi server.xml
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" enableLookups="false" maxThreads="1000" minSpareThreads="100" acceptCount="900" disableUploadTimeout="true" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" compression="on" compressionMinSize="1024" useSendfile="false" noCompressionUserAgents="gozilla, traviata" 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 :压缩的文件类型
内存优化
vi bin/catalina.sh
export JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xms1500m -Xmx1500m -XX:NewSize=128m -XX:MaxNewSize=256m -XX:MaxTenuringThreshold=10 -XX:NewRatio=2 -XX:+DisableExplicitGC -XX:+AggressiveOpts -XX:+UseBiasedLocking -Djava.awt.headless=true"
-server:启用 JDK的 server 版本;
-Xms:Java虚拟机初始化时堆的最小内存,一般与 Xmx配置为相同值,这样的好处是GC不必再为扩展内存空间而消耗性能;
-Xmx:Java虚拟机可使用堆的最大内存;
-XX:PermSize:Java虚拟机永久代大小;
-XX:MaxPermSize:Java虚拟机永久代大小最大值;