永洪社区

标题: 报表打开速度极慢,来个大佬 [打印本页]

作者: yhdata_73sYBkmK    时间: 2024-10-22 14:00
标题: 报表打开速度极慢,来个大佬
本帖最后由 yhdata_73sYBkmK 于 2024-10-25 11:18 编辑

现有一个报表,但是打开速度很慢,首次打开需要9分钟,后面再打开基本很快。
1.数据集是自定义SQL写的,在mysql库执行速度很快,大概10秒不到,放到永洪上也很快   ,基本秒出   总数据条数大概在3W左右
SQL如下:
SELECT 字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名,字段名
FROM a.test
WHERE (不方便展示A >= LEFT(date_sub(NOW(), INTERVAL DAY(date_sub(NOW(), INTERVAL '1' DAY)) DAY),10)
AND 不方便展示A <= LEFT(date_sub(NOW(), INTERVAL '1' DAY),10))
OR  (不方便展示B >= LEFT(date_sub(NOW(), INTERVAL DAY(date_sub(NOW(), INTERVAL '1' DAY)) DAY),10)
AND 不方便展示B <= LEFT(date_sub(NOW(), INTERVAL '1' DAY),10))
OR  (不方便展示C >= LEFT(date_sub(NOW(), INTERVAL DAY(date_sub(NOW(), INTERVAL '1' DAY)) DAY),10)
AND 不方便展示C <= LEFT(date_sub(NOW(), INTERVAL '1' DAY),10))


2.过滤组件是批量提交。
3.有6个自由表,3个交叉表,自由表数据不多,大部分都是隔间计算,有少量的单元格做了过滤。
4.每个交叉表都绑定了同样的11列行表头,但是每个交叉表的过滤条件不一样。

大佬看看打开速度上有没有优化的建议
自带的【检测性能】功能看过了  已经没有优化余地了




作者: yhbi老6了    时间: 2024-10-22 14:00
最好抽取到 vooltdb 数据库,因为你报告上写的绝大多数计算列和隔间计算,都是基于js的,永洪的vooltdb 数据库兼容js计算,做了优化,这样会快些。
作者: yhdata_lyaa    时间: 2024-10-22 14:13
性能帮助 -报告执行过程 看过吗,哪个组件耗时比较多
作者: yhdata_73sYBkmK    时间: 2024-10-22 14:17
yhdata_lyaa 发表于 2024-10-22 14:13
性能帮助 -报告执行过程 看过吗,哪个组件耗时比较多

报告执行过程?没这个功能啊
作者: yh_ywGM7TYG    时间: 2024-10-22 14:26
性能帮助 -报告执行过程 看过吗,哪个组件耗时比较多,看看是什么版本
作者: 行走的蜗牛    时间: 2024-10-22 14:26
mysql执行10s的话算慢了,看下能否2-3s内,报告层面,优化的方式首选减少数据库查询次数,最好把你的页面截图看下,筛选框内容直连数据库的话建议根据情况写死或者单独处理一个数据集
作者: yhdata_73sYBkmK    时间: 2024-10-22 14:36
本帖最后由 yhdata_73sYBkmK 于 2024-10-22 14:42 编辑
yh_ywGM7TYG 发表于 2024-10-22 14:26
性能帮助 -报告执行过程 看过吗,哪个组件耗时比较多,看看是什么版本

版本9.2.4.2b  没有【报告执行过程】这个功能
作者: yhdata_73sYBkmK    时间: 2024-10-22 14:42
行走的蜗牛 发表于 2024-10-22 14:26
mysql执行10s的话算慢了,看下能否2-3s内,报告层面,优化的方式首选减少数据库查询次数,最好把你的页面截 ...

https://sharex-uploader.webaegis ... a955e16efe889f6.png
作者: yhdata_73sYBkmK    时间: 2024-10-22 14:43
yhdata_lyaa 发表于 2024-10-22 14:13
性能帮助 -报告执行过程 看过吗,哪个组件耗时比较多

没有这个功能
9.2.4.2b

有别的办法能看组件执行时间么
作者: 小混子    时间: 2024-10-22 15:05
本帖最后由 小混子 于 2024-10-22 15:07 编辑

过滤组件过多的话  建议过滤组件改成文本参数组件,往sql中传参我之前是一张报表 12个筛选框,改完区别蛮大的

作者: yhdata_lyaa    时间: 2024-10-22 15:07
yhdata_73sYBkmK 发表于 2024-10-22 14:43
没有这个功能
9.2.4.2b

没有了,只有提工单让技术看看日志了
作者: yhdata_lyaa    时间: 2024-10-22 15:08
性能规范可以参考看看https://yonghong-1252949735.cos. ... E%E8%B7%B5-V1.2.pdf
作者: yhbi老6了    时间: 2024-10-22 15:31
本帖最后由 yhbi老6了 于 2024-10-22 15:39 编辑

这个得联机看,不好猜。不过看了你上面的描述,可以给你一个看样子可能性比较大的优化方向吧。
分析:首次打开需要9分钟,后面再打开基本很快。明显一个原因是产生了数据缓存,第二次读是直接从数据缓存中读取数据。
这个我猜测,你不是查单表,并且是使用了至少是组合数据集去做星型模型甚至是雪花模型(组合数据集异库异源会导致sql无法下压到数据库引擎执行,需要抽取表后,再在bi服务器内存中做jion,所以如果服务器内存小,会直接导致慢),如果是自服务数据集那会更加慢。里面做了透视、union、join等处理,此类操作也是在bi的内存中处理的。
优化方法:对最后的结果数据集建立抽取建任务,抽取数据到vooltdb 数据库或者是mpp数据库。或者在数据库中直接产生bi可以直接使用的sql结果表

作者: yhbi老6了    时间: 2024-10-22 15:38
上面那个是数据集层面的,如果不是,仅仅是查询一个简单的sql,就直接做报告了。那就慢在了报告层面了。这里可以考虑是不是某个图表特别慢,或者是整个报告慢。可以考虑复制副本后,勾选实时数据(不从缓存中获取数据),然后一个个图表删除来测试,看删除那个图表后,打开明显变快乐,找到慢的组件后,检查这个组件是不是做了好多复杂的操作。
报告层面空谈不好排查,可以考虑找永洪帮忙看看

作者: yhdata_73sYBkmK    时间: 2024-10-23 15:46
yhdata_lyaa 发表于 2024-10-22 15:07
没有了,只有提工单让技术看看日志了

工单怎么提交呢
作者: yhdata_73sYBkmK    时间: 2024-10-23 15:47
小混子 发表于 2024-10-22 15:05
过滤组件过多的话  建议过滤组件改成文本参数组件,往sql中传参我之前是一张报表 12个筛选框,改完区别蛮大 ...

嗯过滤组件目前只有两个  其他都是文本参数
作者: yhdata_lyaa    时间: 2024-10-23 15:51
yhdata_73sYBkmK 发表于 2024-10-23 15:46
工单怎么提交呢

需要售后识别码,联系商务咨询
作者: yhdata_KNDEOQCl    时间: 2024-10-23 17:04

作者: yhdata_3SMwkqYS    时间: 2024-10-23 17:25
观望
作者: yhdata_73sYBkmK    时间: 2024-10-28 10:02
yhbi老6了 发表于 2024-10-22 15:31
这个得联机看,不好猜。不过看了你上面的描述,可以给你一个看样子可能性比较大的优化方向吧。
分析:首次 ...

谢谢  报表层面按照您的方法试了   貌似是有隔间计算那个表格最慢   但是删了那个自由表之后还是慢,能帮远程看看么
作者: yhdata_73sYBkmK    时间: 2024-10-28 10:14
yhbi老6了 发表于 2024-10-22 15:31
这个得联机看,不好猜。不过看了你上面的描述,可以给你一个看样子可能性比较大的优化方向吧。
分析:首次 ...

数据层面没有组合  或者数据集市   只有一个SQL   帖子我更新了   添加了sql内容
作者: yhbi老6了    时间: 2024-10-28 10:22
yhdata_73sYBkmK 发表于 2024-10-28 10:02
谢谢  报表层面按照您的方法试了   貌似是有隔间计算那个表格最慢   但是删了那个自由表之后还是慢,能帮 ...

远程可以,尽力而为帮你看一下,私你。




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4