最佳 SQL Server Reporting Services 设置

最佳 SQL Server Reporting Services 设置

我想确定 SQL Server Reporting Services 的最佳设置,以用作 SaaS 基于 Web 的应用程序的集成报告工具。所有报告都是预定义的,因此用户选择一个报告并在基于 Web 的前端输入一些参数。然后将参数传递给报告,报告提取数据、格式化结果并向 Web 应用程序返回 PDF 或 Excel 文件。

虽然我们有支持 Web 应用的现有 SQL Server,但没有安装 Reporting Services。选项包括:

1) 将 Reporting Services 添加到现有的 SQL Server 实例
2) 在已运行 SQL Server 的物理服务器上创建新实例,并将该新 SQL 实例用于 Reporting Services
3) 为 Reporting Services 配备单独的物理服务器

虽然 #3 是最佳选择,但它还需要额外的 SQL Server 许可证,这并不便宜。除了稳定性之外,我不知道选项 #2 是否能给我带来很多好处。选项 #1 可能是阻力最小的路径,但我知道 SSRS 会带来相当大的开销,我不希望性能受到太大的影响。

有人需要做这样的事吗?欢迎提供趣闻轶事和意见。

答案1

您没有指出 SQL Server 的版本。请记住,SSRS 2005 也需要在机器上安装 IIS。SSRS 2008 不需要。它原生使用 HTTP.SYS。最佳答案是 #3,但是,这实际上取决于物理服务器上的现有负载以及您要运行的报告类型。就性能而言,#1/#2 本质上是相同的选项。

事实是,如果不知道性能特征,这里没有人可以告诉你最好的选择。最好的方法是了解你的 SQL Server 当前的性能,设置一个小型开发 SSRS 环境并在测试报告时对其进行分析,然后在那里做出决定。如果你不确定从哪里开始获取 SQL Server 的性能配置文件,请允许我推荐:

Brent Ozar 关于性能调优的帖子

答案2

在我们获得专用 rs/as/mirroring 服务器的一些免费许可证之前,我们将采用 #1 路线。我已经限制了应用程序池的 iis 内存使用量。通过这一点和合理的超时,我们希望减少对数据库引擎的影响。

我不允许在 #1 系统上使用任何临时 (报告生成器)。

我真的会极力推崇 #3。您还可以使用它来镜像关键数据库或运行 ssis。

我们上周 4 天内处理了 3600 份报告 - 内存占用约为 300-1500MB。

答案3

我认为,可观的开销取决于旁观者的看法。例如,我管理的服务器之一是 SQL Server 2000 数据仓库,其中有一个用于存放 Reporting Services 的 SQL Server 2005 实例。我很难说 SSRS 对我们来说有可观的开销,但这与我们使用它的方式有很大关系。我们将两者合并为一个 SQL Server 2008 默认实例,原因有很多,主要是因为相对于数据仓库,SSRS 占用的空间很小。我们有不到 50 份报告,其中绝大多数是预定的。我们也不做任何缓存或快照。所以,在我们的例子中,合并绝对是可行的方法。

答案4

我们使用具有数据中心许可证和 SQL CPU 许可证的 ESX 虚拟服务器,因此我们托管的 SQL 实例数量没有问题,所以我的答案是......

将报告服务放在单独的服务器上。我们这样做的主要原因是 SSRS 往往是升级到“最新和最佳”版本的服务,可以最先从新功能(SSRS 和 Visual Studio 2008)中获得最大收益。

我们的 SSRS 是 SQL 2008 - 大多数数据库仍然是 SQL2000/和 2005

如果您可以将数据保存在单独的服务器上,也会有所帮助。我们发现,如果 SSRS 服务器繁忙且数据库位于同一系统上,则会减慢系统上其他用户的网页浏览速度。当我们将数据移至专用的“报告数据”服务器时,这种情况就没那么严重了。

相关内容