SSRS 配置 rsreportserver.config <RecycleTime>
SSRS Configuration rsreportserver.config <RecycleTime>
我在访问当天的第一份 SSRS 报告时遇到问题需要更多时间。但是我开始了解 <RecycleTime>
,我找到了以下参考资料来理解这个场景。
Speed up SSRS on the first Run
还有一些地方我不是很清楚,请问有没有人能帮我解决下面的问题??
如果我设置12小时<RecycleTime>
,那么每隔12小时SSRS服务会被强制重新初始化?或者循环周期会在每次最后一次使用SSRS-Service
(我是说最后一次使用SSRS报告)后延长?
有什么办法可以在一定时间后停止重新初始化吗?或者在重新初始化后自动调用第一个报告的任何其他选项,以便用户可以在没有缓慢启动的情况下访问他们的报告?
编辑:1
在 Powershell
中执行重启服务命令时出错
(服务名称正确)
PS C:\Users\XYZXYZ> Restart-Service "SQL Server Reporting Services (MSSQLSERVER)"
或
PS C:\Users\XYZXYZ> Restart-Service "ReportServer"
Restart-Service: Service 'SQL Server Reporting Services (MSSQLSERVER) (ReportServer Cannot open service.
Occurrence location Line: 1 Character: 1
+ Restart-Service "SQL Server Reporting Services (MSSQLSERVER)"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: CloseError: (System.ServiceProcess.ServiceController: ServiceController)
+ FullyQualifiedErrorId: CouldNotStopService, Microsoft.PowerShell.Commands.RestartServiceCommand
[已解决]:(Edit-1)错误:
打开 Powershell
作为 Run as Administrator
- 回收时间是从上次重新启动 SSRS 开始计算的。什么时候
发生回收,释放 SSRS 中的空闲资源。这个值
可以更改以允许 SSRS 将资源保留更长时间
以防止由于重新初始化 SSRS 资源而导致速度下降。 所以是的,回收是强制的。
- 实现快速启动的一种方法是在回收时间之后立即安排 'dummy' 运行 报告。
尝试将再循环时间设置为 1440 分钟(=24 小时),并手动(或更好,自动)让 SSRS 在预设时间(例如午夜)重新启动。
如果您 运行 在与 SQL 服务器引擎相同的机器上使用 SSRS,您可能需要仔细监控 SSRS 内存使用并相应地设置 SSRS 最小工作集。
要控制 SSRS 回收发生的时间,您可以从 SQL 代理作业执行一个 1 行 powershell 脚本在 5:50 说,然后在早上 6 点生成您的订阅报告。这将重新启动 SSRS,并且用户在随后生成报告时不应看到任何性能下降。 [您将需要 运行 PowerShell 作为管理员]
restart-service 'ReportServer'
Building a script to restart REPORTING SERVICES automatically
我在访问当天的第一份 SSRS 报告时遇到问题需要更多时间。但是我开始了解 <RecycleTime>
,我找到了以下参考资料来理解这个场景。
Speed up SSRS on the first Run
还有一些地方我不是很清楚,请问有没有人能帮我解决下面的问题??
如果我设置12小时
<RecycleTime>
,那么每隔12小时SSRS服务会被强制重新初始化?或者循环周期会在每次最后一次使用SSRS-Service
(我是说最后一次使用SSRS报告)后延长?有什么办法可以在一定时间后停止重新初始化吗?或者在重新初始化后自动调用第一个报告的任何其他选项,以便用户可以在没有缓慢启动的情况下访问他们的报告?
编辑:1
在 Powershell
中执行重启服务命令时出错
(服务名称正确)
PS C:\Users\XYZXYZ> Restart-Service "SQL Server Reporting Services (MSSQLSERVER)"
或
PS C:\Users\XYZXYZ> Restart-Service "ReportServer"
Restart-Service: Service 'SQL Server Reporting Services (MSSQLSERVER) (ReportServer Cannot open service.
Occurrence location Line: 1 Character: 1
+ Restart-Service "SQL Server Reporting Services (MSSQLSERVER)"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo: CloseError: (System.ServiceProcess.ServiceController: ServiceController)
+ FullyQualifiedErrorId: CouldNotStopService, Microsoft.PowerShell.Commands.RestartServiceCommand
[已解决]:(Edit-1)错误:
打开 Powershell
作为 Run as Administrator
- 回收时间是从上次重新启动 SSRS 开始计算的。什么时候 发生回收,释放 SSRS 中的空闲资源。这个值 可以更改以允许 SSRS 将资源保留更长时间 以防止由于重新初始化 SSRS 资源而导致速度下降。 所以是的,回收是强制的。
- 实现快速启动的一种方法是在回收时间之后立即安排 'dummy' 运行 报告。
尝试将再循环时间设置为 1440 分钟(=24 小时),并手动(或更好,自动)让 SSRS 在预设时间(例如午夜)重新启动。
如果您 运行 在与 SQL 服务器引擎相同的机器上使用 SSRS,您可能需要仔细监控 SSRS 内存使用并相应地设置 SSRS 最小工作集。
要控制 SSRS 回收发生的时间,您可以从 SQL 代理作业执行一个 1 行 powershell 脚本在 5:50 说,然后在早上 6 点生成您的订阅报告。这将重新启动 SSRS,并且用户在随后生成报告时不应看到任何性能下降。 [您将需要 运行 PowerShell 作为管理员]
restart-service 'ReportServer'
Building a script to restart REPORTING SERVICES automatically