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堆内存空间

源码优化