日期:2013-02-03  浏览次数:20507 次

  文件系统存储

  对于快照存储的其他选项是使用文件系统存储。这样的设置并不影响SQL紧缩设置,由于这些数据存储在文件系统中。

  文件系统快照存储也适合近程目录和向外扩展的报表服务部署。当文件系统存储可用时,快照数据被存留到报表服务器的本地文件系统中。这使得报表服务器能够避免到目录上走弯路,以支持会话和报表请求。

  你可以控制文件系统的使用,通过改变在RSReportServer 中的WebServiceUseFileShareStorage的值。在config file上,打开文件系统,改变值如下所示:

< Add Key="WebServiceUseFileShareStorage" Value="true" / >

  将key的值改为“false”时,表示关掉文件系统。

  留意,在默认情况下,文件系统存储快照数据到文件系统的目录:C:Program FilesMicrosoft SQL ServerMSSQLMSSQL.instanceReporting ServicesRSTempFiles. CleanupCycleMinutes,位于RSReportServer内。config file控制如何频繁的无用文件系统数据应该被移除。应该留意系统文件夹的精确的存储需求,以避免超出存储极限。

  如果报表服务器使用本地的目录来代替近程目录,那么使用文件存储就没有什么意义了。快照数据曾经存储在SQL Server关系型数据库中,该数据库是高度优化来执行数据存储和重新检索的。利用文件系统存储来配置一个本地目录系统将引入非必要的存储冗余和快看管理。

  紧缩和文件系统存储的效果

  微软在4-处理器近程系统上测试了紧缩和文件系统快照存储的效果。两种技术在重负荷时都可以添加系统的能力。虽然紧缩添加了处理器的任务量,但是它也能减少报表服务器和目录之间的通信量。

  表 5

  Avg Req / Sec

  % of baseline

  Page Views/Hr

  % of baseline

  Peak sessions attained

  % of baseline

  No compression

  Baseline

  Baseline

  Baseline

  SQL compression

  Baseline

  109%

  Baseline

  File System storage

  126%

  129%

  113%

  文件系统存储让你支持更多的用户会话数,而不用降低呼应时间。很明显,文件系统设置提供了最好的扩展和能力。在测试一个4-处理器的近程目录系统中,当打开快照数据的文件系统时,能够支持多于13%的并发用户会话数量。

  关键点

  ◆你可以添加现有系统的虚拟能力,通过使用更多的缓存实例和快照代替实况报表。

  ◆对于高数量的报表环境,利用文件系统快照在向外扩展和近程服务器实现中提供最高可能的能力水平和呼应时间。

  功用优化的最佳实践

  本节次要概述了任务指南和最佳的能力计划和功用优化实践。

  选择配置

  回顾向上扩展和向外扩展指南,就报表能力而言有一个系统配置谱变得越来越清晰了。

  在该谱的最低端是带有本地目录的2-处理器报表服务器。在最高端是向外扩展的报表服务器,它提供了可扩展的能力和功用。虽然本文的测试仅仅包含了向外扩展的配置,4个2-处理器的报表服务器和一个近程目录,向外扩展能够很容易地变大。

  在这两种选择之间,你可以使目录位于近程,添加处理器到一个本地实现或者近程实现,同时在Web场方法的单个系统中进行拆分处理。

  为了给你的任务环境选择恰当的配置,首先要求识别需求的特定功用需求。以下是一些简单的指点:

  ◆如果你的系统能够提供更多的内存,就添加一些。这是由于内存耗费是你第一个会遇到的瓶颈。

  ◆如果你考虑扩展性并运转在本地目录上,第一件需求做的事情是使目录分布到独立的服务器上。仅仅通过拆分目录,你可以获得明显的在功用方面的扩展性,通过添加处理器也可以提高负荷。

  ◆向上扩展和向外扩展都是一种好的方法对于达到4处理器的服务器。超过这个数,向外扩展可能是最安全和最可伸缩的方法。大的SMP系统还没有完成测试。

  在向外扩展的配置的向外扩展让你能够保持一定的处理,照实时报表的设计和预订报表操作,而不受交互的妨碍。比如:

  ◆采用一个特定的报表服务器作为前端服务器来处理所有的报表创建请求,使其他的服务器有空处理交互式报表。

  ◆采用一个或者多个报表服务器来处理有序的订阅或者事件驱动报表的产生。

  普通的功用优化技巧

  由于报表服务器目录是由SQL Server来管理,如果你怀疑数据库功用问题,建议优化SQL Server数据库的功用。这可能包括用来创建报表的源数据库或者用来支持所有报表服务执行的目录数据库。你可以在http://www.microsoft.com/technet/找到优化SQL Server数据库的信息,在“The Data Tier: An Approach to Database Optimization”里;和在线的SQL Server书的功用评估章节里。

  以下是一些常用的功用优化技术,使用报表服务时,当把它们记下。

  ◆优化你的报表查询。通常,大量的报表执行时间花费在执行查询和重新检索结果上。假如你使用SQL Server,像Query Analyzer 和 Profiler工具可以协助你优化查询。同时,数据库Tuning Advisor能建议更好的数据库索引。你应该考虑通过使用分析服务来添加功用。

  ◆如果你不需求报表数据,请不要检索它。使用数据库操作,如过滤、分组和聚集可以减少大量的要求在报表中处理的数据,为此也可以改进功用。

  ◆使你的报表大小和复杂性适度。很少的用户真正希望看到1000页的报表。假如你需求处理一个大的报表,请寻觅一些方法使它们变成小部分来进行处理。

  ◆如果功用非常差即便对于单个用户,检查ASP.NET类别中的使用程序重启计数器。一些防毒软件被认为“接触”配置文件,因此导致扩张的使用程序域在报表服务器Web服务上重启。更多信息,请查阅http://support.microsoft.com/上的关于抗病毒和ASP.NET的文章

  ◆假如在第一次Web服务访问时功用很慢,一段时期都没有反应,在IIS管理器中使在功用tab上的空闲time-out为无效。

  ◆如果可能的话,从缓存或者快照数据中执行报表,而不是实况数据。

  ◆在非峰值期间,限制非必要的后台处理,避免和在线用户竞争资源。

  ◆如果你的报表服务器有4GB内存,记得设置3GB 转换在C:oot.ini上,以便使用程序处理时能用到。

  ◆常规任务如清理报表服务中的会话将会变得非常耗资源,如果执行时用户正在系统上。关于如何在RSReportServer. config file 上调整CleanupCycleMinutes间隔的说明在附录A中进行讨论。

  ◆在少量的数据文件上创建报表服务器目录,通过把数据放到不同物理盘上的日志文件中。这些在附录A中将详述。

  使用Web场

  在Microsoft® Windows® 2003 Server版上,你可以通过设置最大的任务处理器数来进行扩展。为了定位IIS的设置,打开IIS管理工具,然后查看使用程序池的属性。默认时,这些命名为Reports and ReportServer。你必须首先决定是什么使用程序池被分配到每一个虚拟目录上,通过右键点击然后选择选项。被分配的使用程序池将出如今虚拟目录tab的底部。

  当你知道那个使用程序池在用,下一步就是打开使用程序池的属性信息。这些信息可以通过IIS管理器来访问。下一步,定位最大的任务处理器数。通过右键点击然后选择选项,可以看到功用tab。设置的最大任务处理器数将出如今功用tab的底部。

  在2-处理器和4-处理器系统上,添加任务处理器对能力和扩