页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

场景

本次共测试了2个Excel分析资源在64g, 128g, 200g三种内存规格下。对应4种GC策略,进行10 并发,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

三个内存规格下,内存的使用都在32g左右。未随着Tomcat分配内存大小变多占用更多内存。

GC_2: Parallel Old/Serial

在64g内存下占用37g左右,128g内存下占用50g左右, 200g内存下占用68g左右。随着Tomcat分配内存大小变多会占用更多内存。

GC_3: CMS

三个内存规格下,内存的使用都在43g左右。未随着Tomcat分配内存大小变多占用更多内存。

GC_4: G1

在64g内存下占用45g左右,128g内存下占用60g左右, 200g内存下占用90g左右。随着Tomcat分配内存大小变多会占用更多内存。

响应时间


根据上图表显示,GC策略2和4的平均响应时间较1和3要小,对应内存有随着Tomcat规格上升而使用更多内存的GC2和GC4 用时较少。其中时间占用最多的接口
是/smartbi/vision/ssreportServlet进行SQL查询的时间。

测试结论:

使用不同的GC策略,对内存的使用情况以及平均响应时间均有影响。

  1. 内存占用:其中Serial和CMS回收策略,提高JVM分配内存,内存的占用趋于固定值(Serial:32G和CMS:43G); 而Parallel Old/Serial和G1回收策略,内存占用情况,是随着JVM分配内存提高而提高。
  2. 响应时间:综合结果分析,Parallel Old/Serial和G1回收策略下,随着内存增加响应速度提高较明显。其中G1回收策略,在200g内存下的响应时间相较于其他回收策略都低。
  3. 综上:基于G1回收策略随着内存增大能更充分利用内存,且性能表现亦有所提升。我们推荐使用G1回收策略。

回收策略设置

Jdk默认回收策略为PS(PS Scavenge、PS MarkSweep)回收策略。推荐使用G1回收策略。
当前GC策略查看:smartbi右上角菜单系统监控-垃圾回收活动。

Smartbi设置回收策略:../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


word报告:GC策略测试.docx

  • 无标签