Performance 如何对BIRT报告性能进行基准测试?
我有一份关于性能问题的BIRT报告:运行大约需要5分钟 起初,我认为问题出在数据库上:此报表使用相当复杂的SQL Server存储过程来检索数据。经过大量SQL优化后,此过程现在需要约20秒才能运行(在管理控制台中) 但是,报告本身仍然需要太多时间(几分钟)。如何识别BIRT报告生成中的其他瓶颈?有没有办法描述整个过程?我使用www查看器(在Tomcat5.5内部运行)运行它,我没有任何Java事件处理程序,所有操作都是使用标准SQL和JavaScript完成的Performance 如何对BIRT报告性能进行基准测试?,performance,birt,Performance,Birt,我有一份关于性能问题的BIRT报告:运行大约需要5分钟 起初,我认为问题出在数据库上:此报表使用相当复杂的SQL Server存储过程来检索数据。经过大量SQL优化后,此过程现在需要约20秒才能运行(在管理控制台中) 但是,报告本身仍然需要太多时间(几分钟)。如何识别BIRT报告生成中的其他瓶颈?有没有办法描述整个过程?我使用www查看器(在Tomcat5.5内部运行)运行它,我没有任何Java事件处理程序,所有操作都是使用标准SQL和JavaScript完成的 我看了“设计高性能BIRT报告”
我看了“设计高性能BIRT报告”的网络研讨会,它有一些有趣的考虑,但没有多大帮助…当我写这个答案时,这个问题已经快2岁了,所以你大概找到了解决问题的方法。没有人为整个过程提供剖析器,所以这里有一些识别瓶颈的方法
- 一个接一个地运行两个报告,或者在第一个报告运行后启动第二个报告,可以帮助诊断问题
- 任何SQL跟踪和性能测试都会发现问题
- 简化报告或创建一个克隆,使用较少的图形或表格运行(带片段和不带片段),以查看是否有显著差异
- 修改查询以带回较少的记录,较少的记录更易于显示
- 尝试将报告转换为不同的格式
- 如果其中一个明显更大,请尝试使用不同的发射器李>
对于其他有BIRT性能问题的人,这里还有一些提示
- 可以使用任何Java分析器对BIRT报告进行评测—编写一个运行报告的简单Java测试,然后对其进行评测。 作为一个例子,我使用来自的单元测试,并在Eclipse中运行JProfiler。 问题不在于分析它的困难,而在于理解生成的数据:)
- 与数据源相关联的脚本绝对会扼杀性能。即使是一个看起来应该只在前面有影响的脚本也能真正阻止这件事。这是我发现的最大的性能杀手(如此之大,我重写了相当多的Excel发射器,使其不必要)
- 使用的发射器会产生影响。 如果您试图缩小性能问题的范围,请始终执行单独的运行和渲染任务,以便您可以轻松地看到将精力集中在哪里
- 不同的发射器选项可能会影响性能,特别是对于第三方发射器(SpudSoft发射器现在有一些选项可以更快地生成大型报告)
- 固定布局和自动布局之间的差异非常显著,请尝试两者