您的位置:首页 > 数据库

SQL Server 2005可伸缩性和性能的计划(1)

2008-04-29 07:27 260 查看
[b]内容目录
[b]简介

关于该文档

先决条件
[b]概述

可扩展性vs可靠性

向上扩展 vs 向外扩展

报表服务组件
[b]扩展规范

本地和远程目录性能比较

向上扩展

向外扩展

比较向上扩展和向外扩展

采用64位处理器
[b]报表缓存和存储

缓存实例

压缩快照存储

文件系统存储

压缩和文件系统存储的效果
[b]性能优化的最佳实践

选择配置

一般的性能优化技巧

使用Web场
[b]其他工作的优化

预定报表交付性能

实时报表性能
[b]执行自己的性能测试

性能变量

分析标准

思考时间

命名的用户数vs 同步激活的会话
[b]总结
[b]附录A: 系统配置的设置
[b]附录B:性能测试工具

Windows 性能监控工具

ASP.NET 应用程序性能统计类

报表服务性能统计类

可选的报表服务性能统计类

报表服务执行日志
[b]简介
Microsoft® SQL Server™ Reporting Services是一个报表平台,包括可扩展和可管理的中央管理报表服务器和可扩展的基于Web、桌面的报表交付。报表服务是微软综合商业智能平台的重要组成部分。对于许多组织,通过报表来交付信息是一个非常重要的日常商务环节。因此,报表性能必须是一致的、可预见的。随着报表数据的增加,组织必须能够增加报表能力,以一种可预见的、成本低廉的方式。
[b]关于该文档
该文档主要用来帮助客户和合作伙伴,在数据量增加的情况下,如何最好的计划、优化和扩展他们的报表服务执行。以下是本文的主要内容:
◆不同硬件配置的性能和扩展性,如scaling out 和scaling in

◆报表缓存和文件系统存储对性能的影响

◆优化报表服务的最佳实践

◆进行性能测试的建议
尽管该文章是写Microsoft SQL Server 2005 Reporting Services,但是大多数的信息对于早期的版本也同样适用。
[b]先决条件
该白皮文档并不打算祥细的讲述报表服务。对于一些细节的信息,可以到SQL/reporting/">http://www.microsoft.com/SQL/reporting/网站上查阅。除了报表服务之外,该文档假设读者对以下内容已经熟悉:
◆Microsoft SQL Server

◆Internet Information Services (IIS)

◆Microsoft .NET 框架
这些信息在MSDN站点上可以查阅http://msdn.microsoft.com。
[b]概述
Reporting Services是一个综合服务平台的Web的报表,用于创建、管理和交付传统的纸张报表,同时具有交互性,。当执行报表时,Reporting Services平台执行如下步骤:
◆重新得到报表数据

◆根据报表指示和报表定义来处理数据

◆用特定的格式来显示报表
Reporting Services也执行其他的任务来支持报表处理,如管理和处理订阅,管理和处理快照和缓存请求,和服务报表管理请求。
Reporting Services中的工作主要有三部分:
◆用户可以在线交互式的访问已发布的报表

◆通过订阅将预订的和事务驱动的报表以Email或者文件共享的形式交付给用户

◆通过在线用户实时地创建和自动的执行报表
本文的重点在第一部分,用户可以在线交互式的访问已发布的报表。该功能对于大多数用户来说是非常感兴趣的。订阅交付有可预订的优点,用户可以随时随地的进行控制。交互式报表更难进行计划,因为大多数依赖于报表的大小和复杂度,并发用户的多少和报表显示的格式。用户在应用交互式报表时,对系统响应速度也有较高的期待。
伴随着SQL Server 2005 Reporting Services的出现,终端用户可以通过新的报表生成器工具交互式的创建和执行报表。实时报表创建的额外负荷难于进行量化,因为这取决于用户想做什么和如何有效地做,实时报表的量化将在下一版本文件中进行讲述。本文主要包括一般的性能指导说明,创建交互式报表的负荷和在不同配置上进行测试。同时,最后的性能数据也取决于你自己的工作环境,你需要自行进行性能测试。本文中的图片和结果主要为了说明在不同配置上可能出现的扩展特征。
[b]可扩展性vs可靠性
系统的可扩展性是很难定义的,因为对于不同的人有着不同的度量标准。容易引起混乱的是可扩展性和可靠性,它们常出现在同一文章中。可靠性对于任何的系统配置都是一个重要的考虑因素,它的存在或多或少的影响到了可扩展性。在本文中,可扩展性定义为:一种系统能力,能够在不改变系统的基本设计和构架的基础上支持系统工作量的增加。理想地,假如增加了系统资源,你应该增加相同比例的系统能力来处理更多的工作量。
这可能有点太直觉了,达到“准线形”的扩展性是非常困难的。在实际中,系统所需的能力并不能很好的满足线形增长。这是因为管理、协作和通信成本的超额也会在不同系统部件之间发生。系统可靠性是基于细微的不同看法。系统的可靠性是指“能够顺利地处理工作量增加,没有出现任何失败”。另外,当系统增加工作量时,可靠的系统应该能够不间断或者不同时停止工作。性能的退化也应该是一个平滑的过程。虽然,在压力过大时,任何系统都可能变得无效,但是对于可靠的系统却能够从这些事故中进行恢复。对报表服务进行成功的能力计划重点是找到工作负荷和系统能够平滑处理的工作量,创建可靠的系统来满足扩展需求。
[b]向上扩展 vs 向外扩展
Reporting Services的可扩展性设计使用户可以按照自己的意愿在单个服务器或者多个服务器上部署部件。用户开始用Reporting Services时经常问到“是买一个大服务器(scale-up)还是买一个小的服务器(scale-out)”。本文将描述这些可扩展性特性,来帮助你解决这个问题。
一种向上扩展(scale-up)的方法是“利用大的、均匀的、多处理器的服务器来提供额外的能力”。这种方法的优点是“相对于scale-out,它可以提供一种简单的配置和管理过程”。scale-up同时也是SQL Serve关系引擎和分析服务的扩展方法。
向外扩展(Scale-out),是企业版Reporting Services的一种配置,大多数用户都喜欢用这种方法。重要的是,Scale-out能完成如下工作:
◆使用户可以根据需要增加或者移除能力

◆提供一种可接受的、可管理的、可扩展的方式来增加和移除能力

◆允许繁重的工作量在许多日用服务器上进行平衡

◆提供了一种内部错误的容许度
如果你想采用scale-out配置来部署Reporting Services,注意多报表服务器之间的协作,使每个访问单个报表服务器的目录安装在一个本地或远程的SQL Server关系数据库。对于细节的信息请查看SQL/reporting/">http://www.microsoft.com/SQL/reporting/ 和SQL">http://technet.microsoft.com/SQL.
[b]报表服务组件
为了更好的理解可扩展性,我们首先来了解一下报表服务的体系结构,如下图1所示,还有各种组件。


498)this.style.width=498;" border=0>
[b]图1:报表服务体系结构
报表服务可以分解为逻辑上的三层,如下表1所示:
[b]表 1

[b]组件

[b]功能

报表服务器

一个Web服务,做如下事情:
· 处理SOAP 和URL 请求
· 处理报表,包括执行查询,检查表达式,产生输出格式
· 提供快照和报表缓存管理
· 支持并加强安全策略和权威性
报表服务器同时提供Windows服务,可以负责预订和批处理操作,本文对此不作细述。

报表服务器 目录

以下两种SQL Server数据库构成目录:
· ReportServer包含报表内容信息,有报表定义、报表元数据、数据源定义、快照和历史数据。它存储了安全设置,账户信息,预订信息和交付设置。
· ReportServerTempDB里面包含的内容必须支持会话管理和报表的缓存数据。
这些目录能够驻留在同一物理系统如报表服务器,或者单个的系统上(远程目录)。

客户应用程序

客户应用程序通过SOAP Web服务和URL请求来访问服务器。报表管理工具和报表查看器应用程序是客户应用程序,它们被包含在报表服务中。Microsoft® Visual Studio® 2005提供了报表查看器(Report Viewer),用来控制嵌入在客户端的报表。报表创建工具(Report Builder)是实时报表创建的权威工具。许多第三方软件卖主也提供了他们自己的客户端应用程序。
[b]扩展规范
本节描述了报表服务的基本配置选项,它们如何影响性能和扩展性。本节目的是帮助用户学习一种有效的报表服务配置和负荷需求,并回答如下问题:
◆你是否需要考虑把目录部署到远程服务器上?

◆向上扩展报表服务器和增加额外的报表服务器那个更好?

◆对于你的4-处理器报表服务器,什么配置是最好的?
虽然微软在不同的配置上所进行的测试导致了特定的报表工作量,实际的性能需求将依赖于你工作环境中的许多因素。包括如下因素:
◆并发用户的数量

◆报表产生的大小和复杂度

◆按需报表和订阅报表的产生

◆实况和缓存报表的产生
以下章节的测试结果被用来决定各种不同配置的相对性能和可扩展性特征。注意一些原始的规则如每秒查看的页数,在不同的环境中将有所不同。主要关注像在环境中对资源进行分布处理或者添加资源所带来的相对改进。后一章节提供了创建自己性能基线的指导。
[b]本地vs远程配置
微软已经测试了两个本地配置,运行报表服务器和它的在单一的服务器上的目录。


498)this.style.width=498;" border=0>
[b]图2:本地目录实施
在本地配置中,SQL Server关系型数据库将和报表服务竞争有效的机器资源。如果你有充足的资源,那就没有什么问题了。
你可能考虑设置最大的内存和最多数量的处理器供SQL Server数据库引擎使用,目的是为了减少和报表服务的竞争,更多的信息请看附录A。客户也选择如图2所示的配置,因为这仅仅需要SQL Server许可。
相反的,远程目录实现如图3所示,通过两个物理服务器(报表服务引擎和远程目录主机)来延伸报表服务组件。

共2页: 上一页 1 [2] 下一页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐