1. 概述
本文提供大数据模板导出慢时排查步骤。
2. 操作步骤
2.1 检查导出请求
导出请求分为两种:
一种是携带 sessionID 参数导出
一种是携带模板名(如?viewlet=a.cpt&op=export&format=pdf)导出
前者导出不需要再进行取数计算的过程(因为预览的时候计算过了),而后者需要,所以后者导出慢的话需要先看 info 日志,检查 sql 执行时间等,排查是否是取数计算慢,可参考:模板性能问题排查方法
2.2 检查数据库驱动
如果是 SQLServer 数据库,低版本的 jdbc 驱动(sqljdbc)可能存在性能问题,更新驱动(sqljdbc42)即可。
2.3 检查模板
2.3.1 图表
问题描述
模板中存在图表,导出慢可能是因为服务器缺少 j2v8 相关的环境,用 nashorn 性能比较慢。
解决方案
需要升级GCC,可参考:图表导出升级说明
2.3.2 webimage公式
问题描述
模板中用了 webimage 公式,公式参数是用户自己的服务地址,而不是直接可访问的图片链接。可能是请求用户自己的服务比较慢,需要用户排查自己的服务(不过这时候一般预览也比较慢)。
解决方案
先删除模板中的公式,再进行导出,对比速度。