MS SQL Server 7.0 的 SAP R/3 性能优化指南 (简述)
1998 年 11 月发行
读者
本文档所提供的信息可以帮助 SAP R/3 数据库管理员理解 Microsoft® SQL Server® 7.0 的各个方面。这些方面可以经过优化,从而在与 SAP R/3 环境相关的特有数据库工作负荷条件下提供最佳性能。
虽然本文档是为 SAP R/3 站点量身定制的,但是一定要注意本文档中描述的 SQL Server 功能和优化技巧不仅仅适用于 SAP R/3。大型到超大型数据库 (VLDB) 需要支持大量用户连接和大的工作负荷,工作于这一环境中的数据库管理员将从本文的信息中获益匪浅。
引言
本篇有关性能优化的文档将讨论 SAP R/3 环境中的 SQL Server 7.0 最佳配置。本指南分为四个逻辑部分。第一部分,讨论与 Microsoft Windows NT® Server 相关的配置选项。第二部分,描述 SAP R/3 环境中 SQL Server 的重要配置选项。前面这两个部分直截了当,其中还包含了在 SQL Server 的初始配置过程中几分钟就可以完成的一些步骤。第三部分,讨论 SQL Server 的索引设计,因为它与 SAP R/3 相关。索引分析往往是一个极其棘手的过程,为使数据库性能最佳需要持续不断地执行索引分析。 Microsoft TechNet 中的“Microsoft SQL Server 7.0 性能优化指南”应该作为本文第三部分的补充读物。 该指南综合讨论硬件 I/O 性能、索引设计以及 SQL Server 性能优化工具。第四部分,讨论 R/3 数据库中的 SQL Server 文件和文件组的最佳应用。
Windows NT 配置
Windows NT 页面文件的大小应该至少比服务器上安装的 RAM 大三倍,而且要至少有 10 亿字节 (1 GB)。
设置页面文件大小
在开始菜单上,指向设置,然后单击控制面板。
双击系统,然后双击性能选项卡。
单击更改,然后在起始大小 (MB) 框中,输入页面文件的大小(按兆字节 (MB) 计)。
单击确定。
通常,VMM(虚拟内存管理器)已经根据 SQL Server 安装的默认设置进行了适当的配置。
检查和/或配置 VMM 设置
在开始菜单上,指向设置,然后单击控制面板。
双击网络,然后单击服务选项卡。
双击服务器,选择最大化网络应用程序吞吐量,然后单击确定。
配置最小影响的屏幕保护程序和墙纸
在开始菜单上,指向设置,然后单击控制面板。
双击显示,然后单击背景选项卡。
选定图案为(无),并选定墙纸为(无)。
单击应用,然后单击屏幕保护程序选项卡。
在屏幕保护程序下,选定 Blank Screen,然后选定密码保护。
单击应用。
一些多处理器服务器可以将联网 I/O 请求动态分发到最不繁忙的处理器。该硬件功能有助于防止在服务于许多联网请求的系统中出现处理器瓶颈和不良网络性能。该功能通常称为对称中断分发,使用该功能可以改进可扩展性能并防止出现在其它处理器还有剩余容量时某一个处理器却成为瓶颈的情况。它在 Pentium 处理器系列的 Windows NT 4.0 HAL(硬件抽象层)中可以找到。Windows® 2000 也支持该功能。
不同处理器操作平台使用不同方法分发中断。网卡的中断分发是由每个处理器操作平台的 HAL 来控制的。HAL 实施的中断方案取决于处理器的性能。某些处理器包含了中断控制硬件,如高级可编程中断控制器 (APIC)。APIC 允许处理器将中断路由到计算机上的其它处理器。有关特定处理器操作平台所使用的分发方法的详细信息,请咨询操作平台供应商。
在默认情况下,Windows NT 4.0 不使用对称中断分发,而是将与网卡 (NIC) 相关的延迟进程调用 (DPC) 活动分配给系统中编号最大的处理器。在安装有多个 NIC 且 NIC 活动的系统中,每个额外的 NIC 的活动都指派到下一个编号最大的处理器。
如果处理器频繁以百分之百的容量(性能监视器所显示的 Processor: % Processor Time = 100%)操作而且一半以上时间用于为 DPC 提供服务上(即如果 Processor: % DPC Time > 50%),那么可以通过调整 ProcessorAffinityMask 来提高性能。
警告 注册表编辑器使用不当会导致严重的问题,有可能需要重新安装操作系统。使用注册表编辑器要特别小心。Microsoft 不保证能够解决因注册表编辑器使用不当而导致的问题。建议您在执行修改前备份注册表内容,这样在注册表修改出现问题时就能够还原内容。有关备份和还原注册表信息的说明可以在注册表编辑器的联机帮助中找到。
在能够进行对称中断分发的多处理器服务器上,将 Windows NT 注册表中 ProcessorAffinityMask 数值项的值设置为零。这样就会将网络 I/O 请求动态分发到最有能力处理请求的处理器中。ProcessorAffinityMask 位于:HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services \NDIS \Parameters。