报表页面加载打开非常慢
服务部署在内网,报表页面打开非常慢,要 20 秒,但是观察单次调用链路的日志,发现日志全部发生在最后的一秒内,也就是说在前期页面打转这段时间,没有任何日志,报表系统在做什么?为什么慢?
[2023-10-27 08:24:03]
INFO: 生成 HTML 结束……
[2023-10-27 08:24:15]
INFO: 现在计算报表 demo.rpx
[2023-10-27 08:24:15]
DEBUG: CacheManager get report entry
[2023-10-27 08:24:15]
DEBUG: Start reading report entry, Report entry ID: demo.rpx
[2023-10-27 08:24:15]
DEBUG: End reading report entry, Report entry ID: demo.rpx
[2023-10-27 08:24:15]
DEBUG: Start reading report entry, Report entry ID: demo.rpx
[2023-10-27 08:24:15]
DEBUG: End reading report entry, Report entry ID: demo.rpx
[2023-10-27 08:24:15]
INFO: Calculation start,first get data from source……
[2023-10-27 08:24:15]
INFO: print sql:
[2023-10-27 08:24:15]
INFO: ds1=SELECT ******* WHERE ****** = ?;
[2023-10-27 08:24:15]
INFO: arg0: 1
[2023-10-27 08:24:15]
INFO: Calculating report…
[2023-10-27 08:24:15]
INFO: Report Pictures Processing……
[2023-10-27 08:24:15]
INFO: Calculation complete!
[2023-10-27 08:24:15]
DEBUG: Start writing report cache, Report entry ID: demo.rpx Report cache ID: A_44020684916
[2023-10-27 08:24:15]
DEBUG: Start writing pager cache, Report entry ID: demo.rpx Report cache ID: A_44020684916 Pager cache ID: A_44020750480
[2023-10-27 08:24:15]
DEBUG: pdfUrl http://***********:9999/demo/reportServlet?action=6&file=demo.rpx&columns=0&srcType=file&cachedId=A_44020684916&reportParamsId=100030&t_i_m_e=1698395055818
[2023-10-27 08:24:15]
INFO: 开始生成 HTML……
[2023-10-27 08:24:15]
DEBUG: End writing report cache, Report entry ID: demo.rpx Report cache ID: A_44020684916. time:3ms
[2023-10-27 08:24:15]
DEBUG: End writing pager cache, Report entry ID: demo.rpx Report cache ID: A_44020684916 Pager cache ID: A_44020750480. time:5ms
[2023-10-27 08:24:15]
INFO: 生成 HTML 结束……
可以在 showReport.jsp 里加个输出,输出下时间,然后看下这个日志,看下这个时间是多少,看下这个时间和报表开始计算时间是否有间隔,确认下是访问到 jsp 页面后开始卡的,还是在发起访问时,先卡了然后再访问到的 jsp。
或者也可以单独写个简单的 jsp,访问下,看看是否会卡
写了一个 helloworld 的 jsp, 输出当前时间,还真就不卡,邪门了。
现在的情况是 我在外网用转发地址访问简单 jsp 不卡,登录到服务器在命令行用 curl 访问 自身 IP 和端口的复杂报表 jsp 和简单 jsp 页都不卡,只有在外网 用转发地址访问复杂报表的 jsp 才卡。就是那种带有且用到 XXX.rpx 的 jsp
看最开始那个截图,卡的那个加载资源是通过 reportservlet 加载了一个 js 文件,看看你那边网关或者防火墙什么的对这块是否有限制
应该就是网络环境问题,远程堡垒机,用真实地址访问页面,报表都是秒开。多谢赐教👍