如何修改SSRS/IIS垃圾收集计划
我们已经在中描述了该问题 Microsoft建议将内部.net IIS垃圾收集过程的清理任务增加到48小时如何修改SSRS/IIS垃圾收集计划,iis,reporting-services,ssrs-2008-r2,Iis,Reporting Services,Ssrs 2008 R2,我们已经在中描述了该问题 Microsoft建议将内部.net IIS垃圾收集过程的清理任务增加到48小时 OP提出了一个更长期的解决方案,我们将考虑这一方案,但在此期间,有人能就如何执行Microsoft的建议提供建议吗?我想您可能已经知道其中的一些内容,但无论如何,我会将其包括在内,以使其更加完整 在您链接到的线程中,听起来原始海报可能混淆了垃圾收集(释放不再需要分配的CLR内存)和应用程序域回收(重新启动整个CLR应用程序域) 回收由SSRS设置控制,该设置默认为12小时,而垃圾收集会连续
OP提出了一个更长期的解决方案,我们将考虑这一方案,但在此期间,有人能就如何执行Microsoft的建议提供建议吗?我想您可能已经知道其中的一些内容,但无论如何,我会将其包括在内,以使其更加完整 在您链接到的线程中,听起来原始海报可能混淆了垃圾收集(释放不再需要分配的CLR内存)和应用程序域回收(重新启动整个CLR应用程序域) 回收由SSRS设置控制,该设置默认为12小时,而垃圾收集会连续运行,并且当应用程序被编码为调用
GC.Collect()
时也会运行
据我所知,唯一与GC相关的SSRS设置是,如果进程在GC过程中的无响应时间超过ProcessTimeoutGcExtension
秒,则会导致进程崩溃并停止。默认情况下,SSRS 2008 R2的Reporting Services服务设置为在出现故障时自动重新启动,因此,如果由于ProcessTimeoutGcExtension
而停止,它应该在故障后自动启动
这两个设置都位于Reporting Services配置文件中,默认情况下位于C:\Program Files\Microsoft SQL Server\MSRS10\U 50.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config
线程中的错误消息似乎与垃圾收集或回收无关,因此我不确定这是否有助于解决原始问题
另一方面,从SQL Server 2008开始,SSRS不再使用IIS,尽管它确实使用与IIS相同的驱动程序(http.sys)来管理连接。我想您可能已经知道其中的一些内容,但我还是将其包括在内,以使其更加完整 在您链接到的线程中,听起来原始海报可能混淆了垃圾收集(释放不再需要分配的CLR内存)和应用程序域回收(重新启动整个CLR应用程序域) 回收由SSRS设置控制,该设置默认为12小时,而垃圾收集会连续运行,并且当应用程序被编码为调用
GC.Collect()
时也会运行
据我所知,唯一与GC相关的SSRS设置是,如果进程在GC过程中的无响应时间超过ProcessTimeoutGcExtension
秒,则会导致进程崩溃并停止。默认情况下,SSRS 2008 R2的Reporting Services服务设置为在出现故障时自动重新启动,因此,如果由于ProcessTimeoutGcExtension
而停止,它应该在故障后自动启动
这两个设置都位于Reporting Services配置文件中,默认情况下位于C:\Program Files\Microsoft SQL Server\MSRS10\U 50.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config
线程中的错误消息似乎与垃圾收集或回收无关,因此我不确定这是否有助于解决原始问题
另外,从SQLServer2008开始,SSRS不再使用IIS,尽管它使用与IIS相同的驱动程序(http.sys)来管理连接