2008-09-25 103 views
0

我只是很想知道,报告服务在返回1MB数据时会在几分钟内生成报告。也许使用视图和表格是正确的索引。 SSRS报告和服务器端生成。报告生成报告所需的最长时间

+2

这位将军真的无法回答这个问题。它可以有很大的不同,取决于需要处理多少数据来生成这个1MB的报告,数据的索引如何等等。 – 2008-09-25 04:34:29

回答

1

可以接受多长时间?取决于它在做什么,它运行多少,这样的事情。如果它每天或两次运行一次,30秒内的任何事情都可以。如果它每周运行一次或每月运行一次,这个数字可能会高出很多。

1

报告本身通常非常快,如果您看到一个挂断,您可能需要检查生成数据的查询的执行时间。一个复杂的查询可能需要很长时间,即使它只返回一点数据...

0

我发现,当使用BIRT和其他报告系统时,最好的改进往往是通过将大部分工作卸载到数据库在后端。

换句话说,不要通过电线发送大量数据并在本地进行分类或分组。通过SQL orderby和groupby子句以及优化索引(除其他外),数据库几乎肯定会超越你。

这样,您可以更快速地提取所需的数据并减少网络流量。

4

报告生成时间由两个部分组成: - 数据采集时间 - 渲染时间

因此对于数据的1 MB,有多少记录(行),我们谈论?报告有多少页?每页有多少个控件?报告是否使用图表?这些是决定世代时间的因素。

对于大多数报告,数据采集时间是最重要的因素。您的报告永远不会比原始数据采集运行得更快。因此,如果您使用的是SQL,报告生成速度不会超过运行查询所需的时间。我看到很快就会返回超过1Mb数据的查询。我也看到了返回很少数据的查询,这些查询运行了很长时间。

在渲染方面,可能会导致报告运行缓慢的一些事情。第一个是报告汇总。如果报告需要在开始渲染之前收到所有记录,则其性能将受到影响。具体取决于报告工具。对于大型数据集(超过10,000条记录),您可以通过在源(DB)处进行聚合来显着改进渲染。另一个是图表,通常涉及繁重的渲染开销和聚合。

大多数报告系统允许您构建定时器或日志记录,以帮助您调整报告的性能。最好在报告中建立计时器,告诉你报告获取数据花费的时间百分比,以及渲染花费的百分比。当你有这些信息时,你就会知道在哪里集中精力。

如果您真的想要评估报告工具的性能,最好的方法是构建一个报告,以读取平面文件或通过代码生成数据。换句话说,消除数据库的影响,并看看报表工具可以生成页面的速度。

希望这会有所帮助。

0

正如几个人所说,这样的一般问题实在无法回答。不过,我写了Turbo-charge Your Report Speed – General Rules & Guidelines(免责声明 - 我是SSRS竞争对手Windward Reports的首席技术官)。我认为这将帮助您寻找可以加快这一过程的方法。

并且,在3GHz工作站上,我们通常会看到关于具体问题的所有注意事项,我们通常会看到7-30页/秒。请记住,这是Windward的数字,而不是SSRS。