报表性能分析.pptx

报表性能分析.pptx

ID:57577186

大小:219.20 KB

页数:27页

时间:2020-08-27

报表性能分析.pptx_第1页
报表性能分析.pptx_第2页
报表性能分析.pptx_第3页
报表性能分析.pptx_第4页
报表性能分析.pptx_第5页
资源描述:

《报表性能分析.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、报表性能分析天下武功唯快不破·报表性能分析报表运行过程数据准备数据传输报表计算报表呈现报表性能问题爆发程度数据准备数据传输报表计算报表呈现怎么定位是哪个阶段的问题?分析报表日志INFO:开始运算报表,首先取数INFO:取数结束,开始运算INFO:计算结束:INFO:开始生成HTMLINFO:生成HTML结束数据准备&数据传输报表计算报表呈现选择合适的日志级别日志级别要修改:raqsoftReportLog.properties日志输出级别可为OFF,SEVERE,WARNING,INFO,DEBUG,优先级依次降低,若为OFF则不输出任

2、何注意:配置文件中输入信息的说明!开发调试阶段:DEBUG/INFO系统上线后:SEVERE1报表数据准备慢报表数据准备慢INFO:开始运算报表,首先取数......[2019-03-3009:38:12]INFO:下面开始打出sql[2019-03-3009:38:12]INFO:ds1=SELECT产品.产品ID,产品.产品名称,产品.类别ID,产品.单价,产品.单位数量,产品.库存量FROM产品where产品名称like'%胡椒%'[2019-03-3009:58:22]INFO:取数结束,开始运算[2019-03-3009:59

3、:52]INFO:计算结束:数据准备花费:20分10秒重点优化对象!报表数据准备慢运算慢(计算密集型)关联多SQL存在多个表JOIN嵌套多计算逻辑复杂,SQL需要多层嵌套定位问题时可将SQL放到数据库端执行看时间数据准备慢跟报表工具无关这个锅不能背!当然,如果是你SQL写的烂就说不过去了~报表数据准备慢–解决思路优化方向:提升算法效率关联多优化手段:建宽表(空间换时间)-治标不治本使用更高效的关联算法使用更高效的存储格式(预关联)嵌套多优化手段:预计算(空间换时间)-实用性很差使用高性能算法(RDB很难实现)可以从根本上解决关联性能问题

4、2数据传输慢报表数据传输慢取数慢(数据密集型)数据量大数据集不多,但数据集数据量很大数据集多单个数据集数据量不大,但数据集多定位问题时:首先关注数据库类型其次确认数据规模(取数总量达十万级)最后确认SQL在数据库端执行时间不同数据库JDBC-IO性能不同关系数据库MySQL

5、量大的优化手段数据传输慢跟报表工具无关应该说,不直接相关!数据库常用的应用程序接口是JDBC,其性能无法修改但像HIVE还有更高效的CLI接口,报表工具如果支持则IO性能更高!3报表计算慢报表计算慢格间关联多多个数据集通过单元格表达式实现关联,如:ds2.select(name,id==A3)隐藏格多报表中存在过渡格,但又不需要展现,设置成隐藏其他隐藏行列要设置在行列首格上设置显示值时使用ds.select(,,{num_exp=1})……报表计算慢–格间关联多–解决思路iddetailcus_id1xxx32xxx2…...…10万…

6、100idname1xxx2xxx…...100…使用报表表达式进行多数据集关联,引擎会采用顺序遍历的方式完成关联,其性能远远低于数据库常用的HASH关联,相对集算器则性能更低在数据准备阶段处理好数据关联报表计算慢–隐藏格多–解决思路统计各地区前五的销售业绩,第六名以后全部归并为其他以润乾报表为例:在数据准备阶段算好,将计算后结果返回报表其他性能相关报表开发技巧隐藏行列要设置在行列首格上设置显示值时使用ds.select(,,{num_exp=1})使用

7、

8、和&&,而非or和and慎用evalfield等函数使用空白格减少占用上线后开启

9、缓存…以后会有独立的专题去讲不同报表工具引擎性能差异很大得益于润乾报表的非线性报表模型(行业标准)润乾报表的性能表现是最好的如果定位到报表计算端的问题,其实就可以考虑更换报表工具了4报表呈现慢报表呈现慢报表呈现阶段:报表计算结束后,引擎将计算后结果解析、进行页面渲染生成HTML,并返回给用户查看的过程页面渲染慢报表格式复杂报表内容过大(如未分页)用户查看慢网络慢,HTML传输慢客户端环境原因报表格式会影响页面渲染速度隔行异色、不规则合并格等不同报表工具的差异很大润乾报表的模型做的很好页面渲染很快如果定位到报表呈现端的问题,那可能也要考虑

10、更换报表工具了5如何估算报表的性能消耗估算报表占用内存简单估算方法:按每个单元格0.5KB计算报表占用内存=并发量*单元格数*0.5K准确估算方法:使用Tool.sizeof(报表对象)来查看报表大小

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。