docker jvm调优 tomcat_JVM参数设置对tomcat性能影响初探1

1 tomcat性能影响实验

1.1配置环境说明:

tomcat7

一个jsp网站

测试网站吞吐量(1个指标、停顿时间,内存的使用情况,包括回收的效率...)

1.2 工具:

apache jmeter

1.3 实现原理:

通过jmeter对tomcat增加压力,不同的虚拟机参数应该会有不同的表现。

1.4 目的:

观察不同配置参数对吞吐量的影响

2 列举如下7种测试场景

2.1 测试串行回收器

(使用-XX:+UseSerialGC 参数可以指定使用新生代串行收集器和老年代串行收集器)

-XX:+PrintGCDetails -Xmx32m -Xms32m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseSerialGC

-Xloggc:d:/gc.log -XX:PermSize=32m

测试结果显示的吞吐量:908|90

2.2 扩大堆内存以提升系统性能

-XX:+PrintGCDetails -Xmx512m -Xms32m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseSerialGC

-Xloggc:d:/gc.log -XX:PermSize=32m

测试结果显示的吞吐量:3362|335

2.3 调整初始堆大小

-XX:+PrintGCDetails -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError

-XX:+UseSerialGC -Xloggc:d:/gc.log -XX:PermSize=32m

测试结果显示的吞吐量:4132|412

2.4 测试ParNew回收器的表现

(使用-XX:+UseParNewGC 参数设置,表示新生代使用并行收集器,老年代使用串行收集器)

-XX:+PrintGCDetails -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError

-XX:+UseParNewGC -Xloggc:d:/gc.log -XX:PermSize=32m

测试结果显示的吞吐量:4271|426

2.5 使用ParallelOldGC回收器

(使用-XX:+UseParallelGC 参数设置,表示新生代和老年代均使用并行回收收集器)

-XX:+UseParallelGC:新生代使用并行回收收集器,老年代使用串行收集器。

-XX:+UseParallelOldGC:新生代和老年代都是用并行回收收集器。

-XX:+PrintGCDetails -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError

-XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=8 -Xloggc:d:/gc.log

-XX:PermSize=32m

测试结果显示的吞吐量:4997|498

2.6 测试CMS回收器的性能

(设置参数-XX:+UseConcMarkSweepGC 可以要求新生代使用并行收集器,老年代使用 CMS)

-XX:+PrintGCDetails -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError

-XX:+UseConcMarkSweepGC -XX:ConcGCThreads=8 -Xloggc:d:/gc.log

-XX:PermSize=32m

测试结果显示的吞吐量:4223|421

2.7 测试G1回收器的性能

-XX:+PrintGCDetails -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError

-XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:ParallelGCThreads=8 -Xloggc:d:/gc.log

-XX:PermSize=32m -XX:MaxGCPauseMillis=200 -XX:MaxGCPauseMills=20

测试结果显示的吞吐量:3298|329

2.8 -XX:HeapDumpOnOutOfMemoryError

另一个与之相关联的参数: -XX:HeapDumpPath=/temp/ 该参数的含义是指定dump的文件目录

3.其它说明

3.1 JVM的新特性(jdk1.8)

使用Metaspace(JEP 122)代替持久代(PermGen space)。在JVM参数方面,使用-XX:MetaSpaceSize和-XX:MaxMetaspaceSize代替原来的-XX:PermSize和-XX:MaxPermSize

3.2 一张简单说明JVM垃圾回收

clipboard.png

垃圾收集器

young区

1.Serial

关注点:stw的时间 复制算法 STW

2.ParNew

关注点:stw的时间 Serial的多线程版本 复制算法 STW

参数 -XX:ParallelGCThreads 并行线程数

3.Parallel Scavenge

关注点&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值