GC策略测试
场景
本次共测试了 2 个Excel分析资源在6 4 g , 128g, 200g 三种内存规格下。对应4种GC策略,进行1 0 并发,5分钟的压测。4种GC策略及其JVM参数设置如下
GC _1 : Serial -XX:+UseSerialGC
GC_2: Parallel Old/Serial -XX:+UseParallelGC -XX:+UseParallelOldGC
GC_3: CMS -XX:+UseParNewGC - XX:+UseConcMarkSweepGC
GC_4: G1 -XX:+UseG1GC
业务库:MYSQL
内存使用情况
以资源1为例:
GC _1 : Serial
三个内存规格下,内存的使用都在3 2 g左右。未随着Tomcat分配内存大小变多占用更多内存。
GC_2: Parallel Old/Serial
在6 4 g内存下占用3 7 g左右, 128 g内存下占用 50 g左右, 200 g内存下占用 68 g左右。随着Tomcat分配内存大小变多会占用更多内存。
GC_3: CMS
三个内存规格下,内存的使用都在 43 g左右。未随着Tomcat分配内存大小变多占用更多内存。
GC_4: G1
在6 4 g内存下占用 45 g左右, 128 g内存下占用 60 g左右, 200 g内存下占用 90 g左右。随着Tomcat分配内存大小变多会占用更多内存。
响应时间
根据上图表显示,GC策略2和4的平均响应时间较 1 和3要小,对应内存有随着Tomcat规格上升而使用更多内存的GC2和 GC 4 用时较少。其中时间占用最多的接口
是 /smartbi/vision/ssreportServlet 进行SQL查询的时间。
测试结论:
使用不同的GC策略,对内存的使用情况以及平均响应时间均有影响。
1、 内存占用: 其中 Serial 和 CMS 回收策略,提高JVM分配内存,内存的占用趋于固定值( Serial : 32G和 CMS :43G); 而 Parallel Old/Serial 和G 1 回收策略,内存占用情况,是随着JVM分配内存提高而提高。
2、 响应时间: 综合结果分析, Parallel Old/Serial 和G 1 回收策略下,随着内存增加响应速度提高较明显。其中G1回收策略,在200g内存下的响应时间相较于其他回收策略都低。
3、 综上: 基于G 1 回收策略随着内存增大能更充分利用内存,且性能表现亦有所提升。我们 推荐使用G 1 回收策略。
回收策略设置
J dk默认回收策略为PS (PS Scavenge 、 PS MarkSwee p ) 回收策略。 推荐使用G1回收策略。
当前GC策略查看 :smartbi右上角菜单系统监控-垃圾回收活动。
S martbi设置回收策略: . ./smartbi / tomcat/bin/ 目录下,setenv. sh 文件。若为默认GC则直接在JAVA_OPTS参数末尾添加 -XX:+UseG1GC 后重启smartbi。
启动后查看回收策略如下图。
测试数据截图
Tomcat64G:
资源1:公式嵌套 -46W透视-15SHEET-透视表+25w7种公式
GC -1_Serial
GC-2_Parallel Old/Serial
GC-3_CMS
GC-4_G1
资源2:来源两个透视分析 +透视表
GC -1_Serial
GC-2_Parallel Old/Serial
GC-3_CMS
GC-4_G1
Tomcat128G:
资源1:公式嵌套 -46W透视-15SHEET-透视表+25w7种公式
GC -1_Serial
GC-2_Parallel Old/Serial
GC-3_CMS
GC-4_G1
资源2:来源两个透视分析 +透视表
GC -1_Serial
GC-2_Parallel Old/Serial
GC-3_CMS
GC-4_G1
Tomcat200G:
资源1:公式嵌套 -46W透视-15SHEET-透视表+25w7种公式
GC -1_Serial
GC-2_Parallel Old/Serial
GC-3_CMS
GC-4_G1
资源2:来源两个透视分析 +透视表
GC -1_Serial
GC-2_Parallel Old/Serial
GC-3_CMS
GC-4_G1