1.性能优化
内存空间优化
vim /usr/local/tomcat/conf/bin/catalina.sh
JAVA_OPTS="-server -Xms4g -Xmx4g -XX:NewSize=48m -XX:MaxNewSize=128m "
-server:服务器模式
-Xms:堆内存初始化大小
-Xmx:堆内存空间上限
-XX:NewSize=:新生代空间初始化大小
-XX:MaxNewSize=:新生代空间最大值
安全优化
vim /usr/local/tomcat/conf/server.xml
<Server port="-1" shutdown="SHUTDOWN"> #把端口改为负数,不监听
线程池优化
vim /usr/local/tomcat/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" />
connectionTimeout :连接超时时长,单位ms
maxThreads:最大线程数,默认200
minSpareThreads:最小空闲线程数
maxSpareThreads:最大空闲线程数
acceptCount:当启动线程满了之后,等待队列的最大长度,默认100
URIEncoding:URI 地址编码格式,建议使用 UTF-8
enableLookups:是否启用客户端主机名的DNS反向解析,缺省禁用,建议禁用,就使用客户端IP就行
compression:是否启用传输压缩机制,建议 "on",CPU和流量的平衡
compressionMinSize:启用压缩传输的数据流最小值,单位是字节
compressableMimeType:定义启用压缩功能的MIME类型text/html, text/xml,text/css,text/javascript
2.OOM
2.1 什么是 OOM
当堆内存(Heap Space)没有足够空间存放新创建的对象时,就会抛出java.lang.OutOfMemoryError:Javaheap space 错误
2.2 产生OOM的原因
jvm内存分配过小
应用用的太多,出现了内存溢出、内存泄露
2.3 解决
升级机器配置
调高JVM堆内存空间
源码优化