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

(本文档仅供参考)

问题说明

        常常遇到报表访问慢的时候会要求录制CPU采样,但用户能否自行先分析下,若是分析不出来,再进一步求助技术支持人员?    

解决方案

        在这里归整下常见的CPU采样分析。本质分为4类:1、数据库执行慢;2、smartbi代码执行慢;3、smartbi调用第三方接口的代码,第三方接口执行慢。4、里边找不到任何和smartbi相关的代码,说明和smartbi没有关系,但这样的情况极少。

        1、下载下来的CPU采样导入到【系统监控】–》【性能】上展示:

        

       2、从CPU可以看出常见的问题有:

       A、 SQL执行慢,比如说如下截图,将CPU采样展开到最后一级,然后找到非smartbi的代码行,看里边执行的什么逻辑,比如说executeQuery表示执行SQL查询,时间的消耗就是smartbi和数据库交互的消耗:

       

       

       

       注:如果是数据库执行SQL慢,一般需要验证当前SQL写的是否需要调优(sql尽量使用执行效率较高的相关语法、数据库表添加索引等),若是SQL本身通过JDBC工具查询没有问题,需要验证smartbi所在机器和数据库的网络通信是否是不稳定,或者对应的数据库压力是否比较大,导致响应查询慢。

       

       B、CPU展开后都是和smartbi相关的代码消耗,和其他的第三方(如数据库)没有关系,那就需要考虑产品层面是否可以优化代码了。如下图:

       

       C、第三方接口返回慢,这类现象将cpu采样展开后,即看不到smartbi相关代码,也不是看到jdbc字样的代码,如下截图,这类就是产品调用的第三方接口解析消耗时间了,这类问题,因为是接口渲染效果,产品可优化的空间不大,这类一般只能依据实际报表表样进行优化,比如说通过参数过滤减少数据量、减少报表复杂公式计算、一些指标通过跳转下钻去查看等,以便加快浏览器的渲染。

       

Viewtracker License Missing

There is a problem with the license of the Viewtracker addon. Please check if you have a valid license.

授权码细节

  • 无标签