反馈已提交

网络繁忙

性能优化常见问题

  • 文档创建者:知识库
  • 历史版本:4
  • 最近更新:Fay 于 2022-11-01
  • 1. 概述

    本文汇总性能模块遇到的问题及解决方案。

    2. 示例

    2.1 所有模板预览变的很慢

    2.1.1 现象一

    问题描述

    模板加载慢,空模板也慢,F12 看请求耗时很长。

    解决方案

    客户设置了全局参数,公式写的查询数据库,本身执行就很慢。因为全局参数会在模板加载的时候去计算,所以导致所有的模板慢。全局参数去掉,或者改成简单一点的写法。

    2.1.2 现象二

    问题描述

    所有模板预览很慢,内存配置都正常。

    解决方案

    检查一下全局水印设置是否写了 sql 函数进行取数,sql 函数那边取不到数据,所有的模板都需要等 sql 函数取数超时之后才能够显示出来,就导致所有的模板预览慢,可以通过关掉全局水印进行测试。

    2.1.3 现象三

    问题描述

    模板访问慢,且点击保存的时候很慢。

    解决方案

    检查模板是否添加了很多图片,推荐使用 外置背景图片插件

    2.2 访问 OA 主页导致其他报表页面访问卡慢

    问题描述

    用户以 iframe 方式,在 OA 主页的 html 页面中嵌入了几十个报表链接。访问这个 html 页面时,打开其他报表也会卡住,直到 html 页面加载完成才会恢复。

    原因分析

    浏览器有同域名请求最大并发数限制,而用户的 html 中嵌入了几十个报表链接,请求过多导致同域名的请求都要排队等待。这种等待给用户的体验就是「卡死」,更换浏览器或者在其他电脑访问就不受影响了。

    1637233432724303.png

    2.3 决策平台左侧目录加载慢

    问题描述

    决策平台左侧目录加载慢,客户做了外接数据库的,迁移到了oracle10。

    原因分析

    从数据库取数耗时长导致的加载慢。

    解决方案

    替换 ojdbc 驱动,把 ojdbc7 换成 ojdbc14 即可。

    2.4 预览参数面板界面耗时长

    问题描述

    模板预览很慢,就连参数面板加载都要 5 秒。

    原因分析

    「总是重新读取模板」按钮处于打开状态,导致每次都要重新加载,没有缓存;模板用到了报表快刷新插件,但是服务器里没装,导致每次都会去读取插件类。

    解决方案

    关闭「总是重新读取模板」按钮;模板用到什么插件,服务器就装什么插件。

    17.png

    2.5 集群环境下模板加载慢

    问题描述

    切换为单机,模板加载速度正常,但是集群环境下,模板加载异常缓慢。

    原因分析

    springboot 内嵌的 Tomcat 版本过低导致的。

    解决方案

    升级 springboot 内嵌的 Tomcat 版本。

    2.6 多sheet模板导致设计器很慢或者卡死

    问题描述

    复制了 20 个左右的 sheet ,操作过程中设计器卡顿甚至卡死。

    原因分析

    原因一:每个 sheet 中的内容过多,有几百行空白行导致模板文件就有30m。

    原因二:远程设计对模板的保存或打开关闭,都是需要和服务器进行通信,所以和通信状态也有关。

    2.7 数据库资源占用过高

    问题描述

    通过数据库监控工具,发现存在以下的异常 sql 语句在执行,占用数据库资源。

    SELECT NULL AS table_cat,      o.owner AS table_schem,      o.object_name AS table_name,      o.object_type AS table_type,      NULL AS remarks FROM all_objects o WHERE o.owner LIKE :1 ESCAPE '/'   AND o.object_name LIKE :2 ESCAPE '/'   AND o.object_type IN ('xxx', 'VIEW') ORDER BY table_type, table_schem, table_name

    解决方案

    取消勾选设计器「选项>高级>显示oracle所有表」的选项即可。

    1637235110355208.png

    2.8 决策平台打开模板后有留白

    问题描述

    决策平台 url 访问模板,有一段留白(不是转圈加载,是单纯的空白页面时间)。

    原因分析

    转圈加载是 sql 执行和页面计算,而在此之前还会执行全局参数的计算,用户写了很多的全局参数,而且很多都是 sql 公式,需要一定计算时间,这个时间在前端表现为留白。

    全局参数在模板计算之前会全部计算一遍(不管模板里用没用到)。

    解决方案

    把 sql 公式写成服务器数据集,全局参数通过 value 公式从这些数据集里取数据,同时数据集设置缓存来提高数据集取数,从而提升访问速度。

    2.9 磁盘空间不足导致模板无法访问

    问题描述

    前台报错 tools.jar 不匹配,后台 message 报错如下:

    Jul  8 16:23:55 VM-SYRPT-PRD java: *** Error in `/data/soft/roc-component-report/jre/bin/java': corrupted double-linked list: 0x00007f82e9fdd970 ***Jul  8 16:23:56 VM-SYRPT-PRD abrt-hook-ccpp: Only 0MiB is available on /var/spool/abrtJul  8 16:23:56 VM-SYRPT-PRD abrt-hook-ccpp: Process 15223 (java) of user 0 killed by SIGABRT - ignoring (low free space)

    原因分析

    磁盘空间不足。

    解决方案

    清理磁盘中无用文件,如可以检查 FR 工程中是否有过大的日志文件,备份文件等。

    2.10 jvm参数配置过大导致GC时间长

    问题描述

    决策平台无法访问,请求处于pending。

    解决方案

    Tomcat 的 Xmx 值设置小些。

    2.11 模板查询nginx报错504 Gateway Time-out

    问题描述

    远程连接模板查询,nginx 报错:504 Gateway Time-out

    解决方案

    先检查 nginx 配置,是否是推荐配置;若只有单个模板查询会有报错,且数据量大,查看是不是后台数据量超过了前台设置的最大单页限制,调整 单数据集行数限制 即可。

    2.12 大数据量模板加载卡顿

    模板数据量较大加载时卡顿严重,加载结束后查询时仍会卡顿,并且模板挂载到决策平台后会导致平台卡顿。

    可以尝试以下设置来解决问题:

    • 采用分页预览

    • 开启新计算引擎

    附件列表


    主题: 性能优化
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持