代码之家  ›  专栏  ›  技术社区  ›  jlo

以本机模式缓慢启动SQL Reporting Services 2008

  •  5
  • jlo  · 技术社区  · 17 年前

    对于当天的第一个报告请求,或者在未知时间段内没有报告请求,我们的启动时间很慢。在SQL Reporting Server 2005安装中,我们将设置应用程序池以避免回收Reporting Services应用程序。

    但是,我的客户端以本机模式在Windows Server 2008上安装了SQL Reporting Server 2008。我找不到任何IIS安装。我已经检查了SQL Reporting Service配置设置、帮助文件和论坛,但还没有在本机安装中找到解决此问题的解决方案。

    当以本机模式安装时,如何控制Reporting Services应用程序的回收?

    5 回复  |  直到 12 年前
        1
  •  13
  •   jlo    17 年前

    我没有找到TCC响应中引用的参数。然而,他的回答确实提示了我配置文件的存在;我确实找到了一个关于内容的详细页面:

    MSDN: How to: Modify a Reporting Services Configuration File

    在里面我找到了recycletime参数。它默认为720,这感觉就像20分钟左右的超时时间。我设为28800。

    我重新启动了ReportingServices服务,并访问了该站点。通常需要一两分钟的时间,在这段时间内,服务器正在努力工作。现在很快,我将测试一整天,看看这是否会阻止报表服务回收流程和每20分钟重新构建一次,并返回到该站点。

        2
  •  1
  •   TCO    17 年前

    我认为解决方案是在rsreportserver.config文件中添加一个processtimeout键。此文件中的这个密钥来自默认安装,但已被注释掉。我不确定这是几分钟还是几秒,但是我把它修改为28800,在12个多小时没有活动之后,这个过程今天早上仍然在运行。几秒钟后加载了第一个报告。

    该文件位于~/program files/microsoft SQL Server/msrs10.mssqlserver/reporting services/reportserver中。

    我还修改了这个文件中的7200。

        3
  •  0
  •   Andro Selva Anand Wadhwani    13 年前

    SQL Server 2008 不使用IIS,这就是为什么recycletime参数移动到rs config文件的原因。这还意味着您可以在数据库服务器上安装报表服务器以获得更好的性能,而无需安装IIS。

    对于仅在正常工作时间内处于活动状态的报表服务器,720(12小时)的默认回收时间应该是合理的。尽管如此,我还是有同样的问题,即使我计划在每个工作日的早上7:30运行一个报表订阅,以使报表服务器对当天进行初始化。

    现在我想知道是否确实在几分钟内指定了recycletime参数,或者这可能是一个文档错误。我要尝试更大的价值。

        4
  •  0
  •   arcain    13 年前

    我正在运行SQL Server 2008 R2,在我的 rsreportserver.config文件 我取消注释和配置的。我的值如下所示:

    <Add Key="ProcessTimeout" Value="4320" /><!-- seconds -->
    <Add Key="ProcessTimeoutGcExtension" Value="30" /><!-- seconds -->
    

    在编写本文时,这些配置元素 are not documented 在msdn文档中 rsreportserver.config文件 SQL Server 2008 R2的文件,但是 KB article 在下面简单地描述了它们 更多信息 :

    有两种配置设置决定 进程监视器在停止之前等待服务活动 服务。这些设置定义如下:

    1. 进程超时
      这个 设置适用于Reporting Services 表演。
    2. 进程超时扩展
      此设置仅适用于 正在进行垃圾收集,processTimeout值为 达到。

    使用 ProcessTimeout 设置使我的SSRS实例保持唤醒,并设置 RecycleTime 设置一个适当大的值(在我的例子中是30天,或者43200秒)有助于避免在时间跨度过后发生的强制循环。

        5
  •  0
  •   John    12 年前

    通过将Recycletime设置为28800,您只会增加缓慢启动之间的时间间隔。480小时后,第一个报告仍需要一些时间才能运行。如果这有帮助,可以将RecyleTime设置为0以停止回收。

    如果这不是一个选项,您可以通过许多方法使其保持活动状态,例如:
    1.)在SSRS Report Manager网站上安排虚拟报告(我喜欢的方法)
    2) Scheduled Script

    我知道这是一个古老的问题,但没有很好的记录,希望这能帮助别人。

    推荐文章