...
注:如果确定了是Smartbi产品CPU占用高,还可以结合CPU采样和线程进一步分析具体的原因。
...
4、其他原因导致CPU高问题
5、其他原因导致CPU高问题
...
4.1 ETL导致的CPU占用告警
某项目反馈CPU使用率突然飙升,经排查发现是因为ETL执行引擎占用了较高的CPU
...
ETL建议的CPU和内存比例为1:4 ,目前内存是32g,建议配置8核CPU。
4.2 V11旧版本BUG导致的性能问题
1)通过CPU采样发现( CPUSampling (5).zip),消耗内存比较多的方法调用是getAllChildrenWithTypeByPid方法
2)通过查看线程发现( ThreadDumps (1).zip )
线程选取的16点37到17点17,发现如下情况
16点37线程采样中没有getAllChildrenWithTypeByPid方法,现场CPU飙高报警也是从16点40左右开始的,从16点47之后的所有采用都能检索到getAllChildrenWithTypeByPid方法。
3)通过反馈的access日志和操作日志
发现引起getAllChildrenWithTypeByPid方法调用的人登录名是常亮,其通过回写选择数据源时引发了CPU飙高。
A、access日志检索的getAllChildrenWithTypeByPid方法调用
B、常亮的操作日志
C、经检查发现DS.jmlfooddws下面大约有4000张表
4)通过测试环境基本定位通过Excel进行回写配置时会触发getAllChildrenWithTypeByPid方法调用,客户现场生产环境测试了一下,调用一次CPU使用率会增长10%-20%,且一直持续,多调用几次就能增长到40%-50%。
综上:具体的操作已经定位,调用的方法也已经定位,下一步就是需要分析一下如何进行优化处理。
这个功能属于基础模块范围,咨询了大伟哥和小莫哥说是这个地方产品新版本做了一部分优化,现场也反馈测试环境v11 12月24号版本的Smartbi回写具有3000个表的测试库也没有发生CPU飙高情况,如下是进行了10月份版本和12月份版本对比验证一下产品优化的情况:
1)系统选项->高级添加monitor配置
MONITOR_OPEN=true
MONITOR_VERBOSE=true
2)电子表格进行回写选择数据源操作(会触发getAllChildrenWithTypeByPid方法的请求)
3)使用V11 10月份版本VS12月份版本进行对比
A、10月22日版本(知识库运行2000多次)
B、12月24日版本(知识库运行11次)
...
某项目客户反馈生产服务cpu使用率到99.6%了,严重影响项目使用。
经排查发现是因为客户使用的是2024年10月份版本的Smartbi(发现对t_permission_detail表有大量的访问操作)
针对这个问题在2024年11月产品已经做了优化,通过升级新版本可以避免这个问题。
EPPR-92170【南网云景】递归获取子孙节点逻辑性能优化EPPR-91535【南网云景】smarbti节点高cpu占用问题EPPR-90023【南网云景】单目录节点过多,加载超时