Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 如何对BIRT报告性能进行基准测试?_Performance_Birt - Fatal编程技术网

Performance 如何对BIRT报告性能进行基准测试?

Performance 如何对BIRT报告性能进行基准测试?,performance,birt,Performance,Birt,我有一份关于性能问题的BIRT报告:运行大约需要5分钟 起初,我认为问题出在数据库上:此报表使用相当复杂的SQL Server存储过程来检索数据。经过大量SQL优化后,此过程现在需要约20秒才能运行(在管理控制台中) 但是,报告本身仍然需要太多时间(几分钟)。如何识别BIRT报告生成中的其他瓶颈?有没有办法描述整个过程?我使用www查看器(在Tomcat5.5内部运行)运行它,我没有任何Java事件处理程序,所有操作都是使用标准SQL和JavaScript完成的 我看了“设计高性能BIRT报告”

我有一份关于性能问题的BIRT报告:运行大约需要5分钟

起初,我认为问题出在数据库上:此报表使用相当复杂的SQL Server存储过程来检索数据。经过大量SQL优化后,此过程现在需要约20秒才能运行(在管理控制台中)

但是,报告本身仍然需要太多时间(几分钟)。如何识别BIRT报告生成中的其他瓶颈?有没有办法描述整个过程?我使用www查看器(在Tomcat5.5内部运行)运行它,我没有任何Java事件处理程序,所有操作都是使用标准SQL和JavaScript完成的


我看了“设计高性能BIRT报告”的网络研讨会,它有一些有趣的考虑,但没有多大帮助…

当我写这个答案时,这个问题已经快2岁了,所以你大概找到了解决问题的方法。没有人为整个过程提供剖析器,所以这里有一些识别瓶颈的方法

  • 启动时间-大约一分钟可以在这里使用

    • 一个接一个地运行两个报告,或者在第一个报告运行后启动第二个报告,可以帮助诊断问题
  • SQL查询运行时-问题中提到了好的解决方案

    • 任何SQL跟踪和性能测试都会发现问题
  • 构建报告-这是我注意到占用大量时间的地方。在创建报表时运行SQL跟踪。在SQL跟踪指示查询完成后,即使是包含大量数据的相对简单的表也可能需要大约一分钟的时间来配置和显示(通过ApacheTomcat的HTML)

    • 简化报告或创建一个克隆,使用较少的图形或表格运行(带片段和不带片段),以查看是否有显著差异
    • 修改查询以带回较少的记录,较少的记录更易于显示
  • 交付方式PDF、Excel、HTML各有不同的问题

    • 尝试将报告转换为不同的格式
    • 如果其中一个明显更大,请尝试使用不同的发射器

  • 对于其他有BIRT性能问题的人,这里还有一些提示

    • 可以使用任何Java分析器对BIRT报告进行评测—编写一个运行报告的简单Java测试,然后对其进行评测。 作为一个例子,我使用来自的单元测试,并在Eclipse中运行JProfiler。 问题不在于分析它的困难,而在于理解生成的数据:)

    • 与数据源相关联的脚本绝对会扼杀性能。即使是一个看起来应该只在前面有影响的脚本也能真正阻止这件事。这是我发现的最大的性能杀手(如此之大,我重写了相当多的Excel发射器,使其不必要)

    • 使用的发射器会产生影响。 如果您试图缩小性能问题的范围,请始终执行单独的运行和渲染任务,以便您可以轻松地看到将精力集中在哪里

    • 不同的发射器选项可能会影响性能,特别是对于第三方发射器(SpudSoft发射器现在有一些选项可以更快地生成大型报告)

    • 固定布局和自动布局之间的差异非常显著,请尝试两者


    您检查过Tomcat中使用了多少内存吗?您可能没有分配足够的内存。快速测试是启动BIRT设计器并为其分配额外内存。然后,在BIRT Designer软件中运行报告。

    谢谢,但不幸的是,当时我尝试了一些类似的方法,但没有效果-我仍然不知道为什么速度如此缓慢。在本报告的最后,我放弃了使用BIRT,而是简单地使用普通的旧servlet重写了所有内容,直接使用out.println输出HTML!这是一个丑陋的、无法维护的CGI风格的beast,但至少我达到了客户期望的性能水平。。。