tomcat性能调优参数设置

一、操作步骤

1、进入tomcat的bin/catalina.sh文件

2、在文件的首位加入如下代码 

JAVA_OPTS="-server -Xms16384m -Xmx16384m -Xss1024K -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=27 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true "

3、以上参数解析

1、-server 表示tomcat以server模式运行而不是client的模式运行,可以增加jvm的回收能力和吞吐量等。

2、-Xms  -Xmx表示jvm最大分配的内存,这两个值一般设置相同,避免垃圾回收完后重新分配内存 

可以通过命令查看是否能分配的最大内存:java -Xmx16384m -version 显示jdk版本表示可以分配其内存

3、-Xss 表示每个线程可分配的堆栈大小

4、-XX:NewRatio:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代).设置为4 (可以不配置次参数)

5、-XX:SurvivorRatio:设置年轻代中Eden区与Survivor区的大小比值(可以不配置次参数)

6、-XX:PermSize:非堆内存的初始值大小

7、-XX:MaxPermSize:非堆内存(持久代)的最大值

8、-XX:+DisableExplicitGC:在代码中不允许显示的调用 System.gc()

9、-XX:MaxTenuringThreshold:默认值为15,表示经历多少次minor gc才进入老年代。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。

10、-XX:+UseConcMarkSweepGC:使用CMS GC

11、-XX:+UseParNewGC:表示对年轻代采用多线程并行回收

12、-XX:+CMSParallelRemarkEnabled:表示使用CMS回收机制,减少mark。

13、-XX:+UseCMSCompactAtFullCollection:表示消除gms内存不移动产生的碎片,一般最好添加和这个参数

14、-XX:LargePageSizeInBytes:指定Java heap的分页页面大小

15、XX:+UseFastAccessorMethods:原始类型的快速优化get,set 方法转成本地代码

16、-XX:+UseCMSInitiatingOccupancyOnly:使用手动定义初始化定义开始CMS收集,禁止hostspot自行触发CMS GC

17、-Djava.awt.headless=true:Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。设置为true可以保证程序运行正确。

4、优化配置server.xml文件

 

5、参数解析:

1、URIEncoding:字符编码
2、minSpareThreads:设当连接器第一次启协创建线程的数目,确保至少有这么多的空闲线程可用。默认值为4
3、maxSpareThreads:允许存在空闲线程的最大数目,默认值为50
4、enableLookups:关闭DNS查询
5、disableUploadTimeout:允许Servlet容器,正在执行使用一个较长的连接超时值,以使Servlet有较长的时间来完成它的执行,默认值为false
6、connectionTimeout:设置连接的超时值,以毫秒为单位。默认值为60000=60秒
7、acceptCount:当所有的可能处理的线程都正在使用时,在队列中排队请求的最大数目。当队列已满,任何接收到的请求都会被拒绝,默认值为10
8、maxThreads:线程池指定Web请求负载的数量
9、maxProcessors minProcessors:在 Java中线程是程序运行时的路径,是在一个程序中与其它控制线程无关的、能够独立运行的代码段。
10、useURIValidationHack:减少对一些url的不必要的检查从而减省开销。
11、compression:打开压缩功能
12、compressionMinSize:启用压缩的输出内容大小,默认为2KB
13、compressableMimeType

最后在8443端口对应的位置也加入其配置即可

6、再优化tomcat的npr配置则可以很大程度优化tomcat,可以参考

https://blog.csdn.net/zhaoydzhaoyd/article/details/103009872

你可能感兴趣的:(tomcat性能调优参数设置)