一般使用nio模式,bio效率低,apr对系统配置有一些更高的要求
2. 关键配置
maxThreads: 最大线程数,默认是200,
minspareThread: 最小活跃线程数,默认是25
maxqueuesize: 最大等待队列个数
3. 影响性能的配置:
compression 设置成on,开启压缩
禁用AJP连接器: 用nginx+Tomcat的架构,用不到AJP
enableLookups=false 关闭反查域名,直接返回ip,提高效率
disableUploadTimeou=false上传是否使用超时机制
acceptCount=300 ,当前所有可以使用的处理请求都被使用时,传入请求连接最大队列长队,超过
个数不予处理,默认是100
keepalive timeout=120000 场链接保持时间
4. 优化jvm
/bin/catalina.sh
-server:jvm的server工作模式,对应的有client工作模式。使用“java-version”可以查看当前工作
模式
-Xms1024m:初始Heap大小,使用的最小内存
-Xmx1024m:Java heap最大值,使用的最大内存。经验:设置Xms大小等于Xmx大小
-XX:NewSize=512m:表示新生代初始内存的大小,应该小于 -Xms的值
-XX:MaxNewSize=1024M:表示新生代可被分配的内存的最大上限,应该小于-Xmx的值
-XX:PermSize=1024m:设定内存的永久保存区域,内存的永久保存区域,VM存放Class 和 Meta
信息,JVM在运行期间不会清除该区域
-XX:MaxPermSize=1024m:设定最大内存的永久保存区域。经验:设置PermSize大小等于
MaxPermSize大小
-XX:+DisableExplicitGC:自动将System.gc()调用转换成一个空操作,即应用中调用System.gc()
会变成一个空操作,避免程序员在代码里进行System.gc()这种危险操作。System.gc()
除非是到了万不得也的情况下使用,都应该交给 JVM。