【IT168 服务器学院】概述
本文是 Microsoft 和 Dell 公司共同合作的成果,用来说明 Microsoft® SQL Server™ 2000 和 Dell 硬件的可缩放性。在 Dell 企业版八路服务器上运行的 SQL Server 2000 可以支持上千个数据库及为数众多的用户,同时还可以提供进行集中管理所需的性能。SQL Server 2000 使用户能够在对称多重处理 (SMP) 系统方面获得最大的投资回报;用户可以增加处理器、内存和磁盘,以建立集中管理的大型企业服务器。
更多公司愿意从应用服务提供商 (ASP) 那里获取数据库服务。内部信息技术 (IT) 组织正在根据其总拥有成本 (TCO) 和可管理收益合并数据库服务。本文重点介绍常见的 ASP 方案,其中一个系统上承载了多个数据库,而每个数据库中只有较少的几个用户。此方案同样适用于希望将跨企业服务器的多个数据库合并到一个集中管理的服务器上的公司。因此,本文的目的也就是要说明如何使用多个实例成功地调整单个服务器上增加的工作负荷。我们将使用 Microsoft bCentral™ 的应用程序来研究不同的配置对工作负荷性能的影响,测量依据是每分钟的事务处理数 (TPM)。
下表列出了在一台服务器上使用多个实例的优点:
一台服务器可以承担更大的工作负荷。
可以基于不同服务水平协议 (SLA) 的要求灵活地分离数据库。
可以根据不同的性能要求分离数据库。
可以根据不同的备份和恢复要求分离数据库。
可以根据不同的安全性要求分离数据库。
可以根据变化控制、操作和维护要求分离数据库。
此案例研究的结果表明:
与使用单个实例相比,使用多个实例可以支持更多数据库,这样一台服务器所能承载的工作负荷就增大了八倍。
与多个实例一起使用时,设置处理器关系可以使工作负荷相对于默认设置增加 80%。
从数据文件中分离事务日志可以使工作负荷增加 10%。为将日志和文件放在不同设备上的非常好的实践提供了其他支持。
当某台服务器专用于 SQL Server 时,可以获得非常好的效果。
本文提供了一些一般的原则,以帮助用户理解成功配置多个实例以获取非常好的吞吐量过程中所涉及的标准。
简介
鉴于越来越多的客户开始关注服务器功能合并,我们期望 ASP 和企业 IT 部署多个 SQL Server 2000 实例,以承载更多的数据库。
分离数据库的能力使得 ASP 或企业 IT 能够更灵活地向客户提供不同层次的服务,而无需使用单独的计算机。要使用这种方法,需要确定何时使用多个实例,以及如何配置这些实例以获得非常好的性能。
非常好的配置是在研究过若干个参数(包括多个实例、内存配置、CPU 关系、磁盘布局和 TPM 中的恢复模式)的影响之后确定的。
本文重点介绍一个常见的方案,其中一个系统上承载了多个数据库,而每个数据库只有较少的几个用户。上述参数的影响可以从称为“PACE”的实际应用程序中看出。PACE 来自 Microsoft bCentral 的一个财务应用程序,它运行在一组服务器上。这些服务器包括:Microsoft SQL Server 2000 Enterprise Edition、Microsoft Windows® 2000 Datacenter™ Server 和 Dell PowerEdge 8450 servers。
PACE 应用程序
所部署的 PACE 应用程序是一个会计和财务管理产品,是 Microsoft bCentral 为客户提供的众多服务之一。PACE 用来帮助小型企业更有效地完成日常工作,它包括处理财务问题、银行业务、生成工资单、记录销售、采购信息以及快速方便地生成报告的功能。
为了向每位客户提供实体安全的会计控制和可靠的多用户访问,该应用程序在一台服务器上提供了许多小型财务数据库,为每位客户建立一个数据库。它还使用户能够对安全性、备份和恢复、变化控制和维护操作进行更精确的控制。此应用程序为每个数据库提供了 200 多个存储过程,以支持 Web 服务。
这种反传统的设计为系统管理和 SQL Server 的性能优化带来了新的问题。最大的问题是,随着数据库的增多,支持大量存储过程所需要的内存也在成倍地增加。对于 SQL Server 来说,需要具有虚拟内存空间,以便为每个数据库上的每个过程编译执行计划,然后将该计划保存在过程高速缓存中。对于 PACE 应用程序来说,为 500 个数据库高速缓存的执行计划数量为 200*500,即 100000 个高速缓存条目。PACE 数据库的数量越多,所需的服务器过程高速缓存大小就越大。如果执行计划的数量超出了过程高速缓存能够存储的数量,将对执行重新进行编译,这将减少处理查询的吞吐量。利用传统的方法(例如使存储过程参数化)不能解决此问题。
进行有效的调整需要完成特定的配置,以增加用于过程高速缓存的有效内存空间。其他问题还包括如何有效地利用 CPU,以处理由于数据库和用户数量增加而导致频繁发生并发活动的情况,以及如何有效地利用非常好的磁盘布局和非常好的恢复模式。
SQL Server2000服务器功能合并问题的看法
0
相关文章