优化操作系统性能的通用指南

应遵循以下一般准则来提高操作系统性能:

安装最新的 BIOS、存储区域网络 (SAN) 驱动程序、网络适配器固件和网络适配器驱动程序

硬件制造商会定期发布 BIOS、固件和驱动程序更新,以提高相关硬件的性能和可用性。 访问硬件制造商的网站,下载并应用BizTalk Server环境中的每台计算机上的以下硬件组件的更新:

  1. BIOS 更新

  2. 如果使用 SAN) ,则 SAN 驱动程序 (

  3. NIC 固件

  4. NIC 驱动程序

在所有BizTalk Server和SQL Server计算机上启用“高性能”电源计划。

默认情况下,Windows Server 2008/2008 R2 设置均衡 (建议) 电源计划,这可实现节能,但可能会导致某些任务) 延迟增加 (响应时间变慢,并导致 CPU 密集型应用程序出现性能问题。

为了减少延迟,必须确保运行BizTalk Server和SQL Server的所有服务器将 Windows Power 计划设置为高性能

评估 BizTalk Server 和 SQL Server 计算机上的 Intel Hyper-Threading 使用情况

  • Pre-Nehalem 超线程处理

    • 应在BizTalk Server计算机上关闭超线程。 这是 BIOS 设置,通常位于 BIOS 设置的处理器设置中。 超线程使服务器看起来具有比实际更多的处理器/处理器核心;但是,超线程处理器通常提供物理处理器/处理器核心性能的 20-30%。 当BizTalk Server计算处理器数以调整其自我优化算法时,超线程处理器会导致这些调整倾斜,从而导致整体性能下降。

    • 应在SQL Server计算机上关闭超线程处理,因为可能导致 (高级别争用的应用程序(如BizTalk Server) )可能会导致SQL Server计算机上的超线程环境中性能降低。

  • Nehalem 超线程处理:与在旧体系结构中不同,在 Intel 微体系结构“Nehalem”处理器中启用超线程可提供几乎线性的容量增加。 为了获得最佳性能,在部署“Nehalem”处理器时,建议通过启用 Intel Hyper-Threading (H-T) 技术来配置计算机的 BIOS,以显著增加吞吐量。

  • 硬件虚拟化:使用硬件虚拟化时,虚拟机使用虚拟处理器。 可用的 CPU 数基于配置虚拟机时选择的设置。 如果硬件是超线程的,虚拟机将不知道它是超线程的。

将 MSDTC 日志文件目录分配到单独的专用驱动器

在单独的SQL Server计算机上具有多个 MessageBox 数据库的BizTalk Server环境中,与 Microsoft 分布式事务处理协调器 (MSDTC) 相关的额外开销。 默认情况下,MSDTC 日志文件位于运行 DTC 服务的计算机的 %systemdrive%\windows\system32\msdtc 目录中。 若要降低 DTC 日志记录可能成为性能瓶颈的可能性,请考虑将 MSDTC 日志文件目录移动到快速磁盘驱动器。

若要更改 MSDTC 日志文件目录,请参阅 配置 DTC 日志记录

配置防病毒软件以避免实时扫描BizTalk Server可执行文件和文件删除

防病毒软件实时扫描BizTalk Server可执行文件以及BizTalk Server接收位置监视的任何文件夹或文件共享可能会对BizTalk Server性能产生负面影响。 如果在BizTalk Server计算机上安装了防病毒软件,则禁用任何BizTalk Server接收位置引用的非可执行文件类型的实时扫描, (通常 .XML,但也可以 .csv、.txt 等 ) ,并配置防病毒软件以排除扫描BizTalk Server可执行文件

禁用BizTalk Server环境中的计算机之间的入侵检测网络扫描

入侵检测软件可能会减慢甚至阻止通过网络进行的有效通信。 如果安装了入侵检测软件,请禁用BizTalk Server计算机与外部数据存储库之间的网络扫描, (SQL Server) 计算机或消息服务 ((如消息队列和 WebSphere MQSeries) 计算机)。

定期对BizTalk Server环境中的所有磁盘进行碎片整理

BizTalk Server环境中的过多磁盘碎片会对性能产生负面影响。 按照以下步骤在 BizTalk Server 环境中对磁盘进行碎片整理:

  1. 通过安排非工作时间磁盘碎片整理,定期对本地和 SAN/NAS) (的所有磁盘进行碎片整理。

  2. 对 Windows PageFile 进行碎片整理,并在BizTalk Server环境中预分配每个磁盘的主文件表,以提高整体系统性能。

如果在SQL Server计算机上安装了防病毒软件,请禁用数据和事务文件的实时扫描

实时扫描SQL Server数据和事务文件 (.mdf、.ndf、.ldf、.mdb) 可能会增加磁盘 I/O 争用并降低SQL Server性能。 请注意,SQL Server数据和事务文件的名称可能因BizTalk Server环境而异。 有关使用默认BizTalk Server配置创建的数据和事务文件的详细信息,请参阅优化 Databases2 的文件组

为BizTalk Server和SQL Server配置 MSDTC

若要促进SQL Server与BizTalk Server之间的事务,必须启用 Microsoft 分布式事务处理协调器 (MSDTC) 。

配置分布式事务处理协调器 (DTC)

  1. 单击 “开始”,单击“ 运行”,键入 dcomcnfg,然后单击“ 确定 ”打开 “组件服务”。

  2. 在控制台树中,依次展开“组件服务”、“计算机”、“我的计算机”、“分布式事务处理协调器”,然后单击“本地 DTC”。

  3. 右键单击“ 本地 DTC”,然后单击“ 属性” 以显示“ 本地 DTC 属性 ”对话框。

  4. 在“ 跟踪 ”选项卡上的 “输出选项” 部分下,清除“ 跟踪输出 ”框。

  5. 单击“安全”选项卡。

  6. 确保以下四个选项均处于选中状态,且清除所有其他选项:

    • 网络 DTC 访问

    • 允许入站

    • 允许出站

    • 不要求进行身份验证

  7. 单击“ 确定 ”关闭“ 本地 DTC 属性 ”对话框。 如果系统提示重启 MSDTC 服务,请单击“ ”。

  8. 关闭 组件服务

  9. 单击“ 开始”,指向 “管理工具”,然后单击“ 高级安全 Windows 防火墙”。

  10. 在“高级安全 Windows 防火墙”中,单击“ 入站规则”。

  11. 在“ 入站规则 ”窗格中,根据需要右键单击“ 分布式事务处理协调器”* () ,然后单击“ 启用规则”。

  12. 在“高级安全 Windows 防火墙”中,单击“ 出站规则”。

  13. 在“ 出站规则 ”窗格中,根据需要右键单击“ 分布式事务处理协调器”* () ,然后单击“ 启用规则”。

  14. 控制面板,双击“管理工具”。

  15. 在右侧窗格中,双击“ 服务”。

  16. “服务 (本地) ”的右侧窗格中,右键单击“ COM+ 系统应用程序”,单击“ 重启”,然后等待服务重启。

  17. 右键单击并重启 分布式事务处理协调器 服务。

  18. 右键单击并重启SQL Server (MSSQLSERVER) 服务。

  19. 关闭 “服务” (“本地) ”,然后关闭 “管理工具”。

为BizTalk Server配置防火墙 ()

注意

仅当BizTalk Server环境中存在一个或多个防火墙时,才需要执行此步骤。

查看以下信息,为BizTalk Server配置防火墙 () :

使用 Interrupt-Affinity 策略工具将网络适配器中断绑定到多处理器计算机上的特定处理器

Interrupt-Affinity Policy (IntPolicy) 是一种工具,可用于“绑定”或更改给定设备 (中断的 CPU 相关性,例如) 到多处理器计算机上的特定处理器或处理器的网络适配器。 此绑定也称为分区。 将特定网络适配器的中断绑定到多处理器计算机上的特定处理器强制运行延迟过程调用 (DPC) 和中断服务例程 (指定处理器上的网络适配器) ISR。 请注意,无法在单处理器计算机上配置中断相关性。

注意

DPC 定义为对内核模式函数的排队调用,该调用通常在以后执行。 ISR 定义为一个例程,其用途是在设备生成中断时为设备提供服务。

中断关联策略工具 Interrupt-Affinity 策略工具

在基于 Windows Server 2008 的多处理器计算机上,中断控制器的默认行为是将设备中断分配给任何可用的处理器。 当给定网络适配器的网络连接和文件服务器会话被绑定/分区以在一组特定的处理器(而不是任何可用处理器)上运行时,关联的网络处理的性能和可伸缩性将得到提高。 大型BizTalk Server解决方案通常使用具有多个网络适配器的多处理器SQL Server计算机,中断绑定可能特别有用。

在使用生产环境之前,应始终在测试环境中评估使用 IntPolicy 的中断绑定。 测试环境的硬件、操作系统和应用程序配置应尽可能接近生产环境。 这样,就可以测试中断绑定的各种排列,并确定中断绑定在多大程度上提高了性能。

建议先禁用超线程处理,然后再在具有支持超线程的 CPU 的计算机上配置 IntPolicy。 这将确保将中断分配给物理处理器而不是逻辑处理器。 将中断相关性分配给引用同一物理处理器的逻辑处理器不会提高性能,甚至可能降低系统性能。

中断关联策略工具可从 WHDC 网站下载。

在所有卷上使用 NTFS 文件系统

Windows Server 为格式化驱动器提供多种文件系统类型,包括 NTFS、FAT 和 FAT32。 NTFS 应始终是服务器选择的文件系统。

与 FAT 和 FAT32 文件系统不同,NTFS 具有相当大的性能优势,应仅在 Windows 服务器上使用。 此外,NTFS 比 FAT 和 FAT32 提供了许多安全性、可伸缩性、稳定性和可恢复性优势。

在以前版本的 Windows 中,FAT 和 FAT32 通常针对较小的卷实现, (<500 MB) ,因为它们在此类情况下速度通常更快。 由于目前磁盘存储相对便宜,并且操作系统和应用程序将驱动器容量提升到最大,因此不太可能使用这种小卷。 FAT32 在更大的卷上缩放比 FAT 更好,但仍不是适用于 Windows 服务器的文件系统。

FAT 和 FAT32 过去通常已实现,因为它们被视为更容易在卷出现问题时使用本机 DOS 工具进行恢复和管理。 如今,由于各种 NTFS 可恢复性工具既内置于操作系统中,又可作为第三方实用工具使用,因此不再存在不对文件系统使用 NTFS 的有效参数。

请勿使用 NTFS 文件压缩

虽然使用 NTFS 文件系统压缩是减少卷空间的一种简单方法,但它不适用于企业文件服务器。 对于所有磁盘操作,实现压缩都会给 CPU 带来不必要的开销,最好避免。 在认真考虑文件系统压缩之前,请考虑添加其他磁盘、近线存储的选项或考虑存档数据。

查看磁盘控制器条带大小和卷分配单位

在硬件驱动器控制器中配置驱动器阵列和逻辑驱动器时,请确保将控制器条带大小与将格式化卷时使用的分配单元大小相匹配。 这将确保磁盘读取和写入性能达到最佳状态,并提供更好的整体服务器性能。 配置更大的分配单元 (或群集或块) 大小会导致磁盘空间使用效率降低,但也会提供更高的磁盘 I/O 性能,因为磁盘头可以在每次读取活动期间读取更多数据。 若要确定用于配置控制器和格式化磁盘的最佳设置,应确定具有类似文件系统特征的服务器磁盘子系统上的平均磁盘传输大小。 使用 Windows 性能监视器工具在正常活动期间监视平均磁盘字节数/读取和平均磁盘字节/写入的逻辑磁盘对象计数器,以帮助确定要使用的最佳值。 尽管如果系统将访问许多小文件或记录,则可能需要较小的分配单元大小,但在大多数情况下,64 KB 的分配单元大小可提供良好的性能和 I/O 吞吐量。 当磁盘负载增加时,可以特别注意到优化分配单元大小的性能改进。

注意

格式化卷时,需要 FORMAT 命令行工具或磁盘管理工具来指定大于 4096 字节 (4 KB) 的分配单元大小。 Windows 资源管理器最多只能设置此阈值的格式。 CHKDSK 命令可用于确认卷的当前分配单元大小,但需要先扫描整个卷,然后才能显示所需信息, (每个分配单元) 显示为字节。

监视驱动器空间利用率

磁盘上的数据越少,其运行速度就越快。 这是因为在碎片整理良好的驱动器上,数据会尽可能靠近磁盘的外边缘写入,因为这是磁盘旋转速度最快并产生最佳性能的地方。 磁盘查找时间通常比读取或写入活动长得多。 如上所述,数据最初写入磁盘的外部边缘。 随着对磁盘存储需求的增加和可用空间的减少,数据写入离磁盘中心更近。 当头离开边缘时,查找数据时磁盘查找时间会增加,并且当发现时,读取时间会更长,从而影响磁盘 I/O 性能。 这意味着,监视磁盘空间利用率不仅出于容量原因,而且出于性能考虑非常重要。 根据经验,努力实现将磁盘可用空间保持在总磁盘空间的 20% 到 25% 之间的目标。 如果可用磁盘空间低于此阈值,则磁盘 I/O 性能将受到负面影响。

实施策略以避免磁盘碎片

定期在磁盘(包括根驱动器)上运行碎片整理程序实用工具,以防止性能下降。 每周在繁忙磁盘上执行此操作。 磁盘碎片整理程序随 Windows 一起安装,可以按指定的时间间隔从计划任务运行。

优化后台服务的 Windows Server 性能

BizTalk Server进程 (BTSNTSVC.exe) 作为后台服务运行。 Windows Server 2008 使用抢占式多任务来确定 CPU 将关注的进程线程的优先级。 抢占式多任务处理是一种方法,即停止进程执行并启动另一个进程,由操作系统决定。 此方案可防止单个线程控制 CPU。 将 CPU 从执行一个进程切换到下一个进程称为上下文切换。 Windows 操作系统包含一个设置,该设置确定在上下文切换发生和为下一个线程提供服务之前允许在 CPU 上运行各个线程的时间。 此时间量称为量子。 此设置允许你选择如何在前台程序和后台服务之间共享处理器 quanta。 通常,对于服务器,不允许前台程序分配比后台服务更多的 CPU 时间。 也就是说,所有应用程序及其在服务器上运行的进程都应同等考虑 CPU 时间。 若要提高后台服务(如 BizTalk 主机实例)的性能,请执行以下步骤:

  1. 单击“开始”,单击“控制面板”,然后单击“系统”。

  2. 单击“高级”选项卡,然后单击“性能”下的“设置”。

  3. 单击“ 高级 ”选项卡,单击“ 后台服务”,然后单击“ 确定 ”两次。

禁用非基本服务

Windows Server 2008 的默认安装支持在BizTalk Server环境中可能不需要的多项服务。 每个正在运行的服务都会消耗系统资源,因此应禁用不必要的服务以提高整体性能。 禁用服务时应小心。 在禁用服务之前,请全面研究服务的目的,因为 Windows Server 要求某些服务正在运行。 如果 Windows Server 2008 所需的服务处于禁用状态,操作系统可能会变得不可操作,甚至可能无法启动。 若要禁用专用BizTalk Server不需要的 Windows Server 2008 服务,请执行以下步骤:

  1. 单击“ 开始”,指向 “管理工具”,然后单击“ 计算机管理”。

  2. “计算机管理 (本地) ”下,展开 “服务和应用程序”,然后单击“ 服务”。 在“状态”列中,正在运行的每个服务都标记为“已启动”。停止并禁用不必要地启动的任何服务,例如,在专用BizTalk Server上不需要以下服务:

    • 警报器

    • 剪贴 簿

    • DHCP 服务器

    • 传真服务

    • 文件复制

    • 红外监视器

    • Internet 连接共享

    • Messenger

    • NetMeeting 远程桌面共享

    • 网络 DDE

    • 网络 DDE DSDM

    • NWLink NetBIOS

    • NWLink IPX/SP

    • 打印后台处理程序

    • Telephony

    • Telnet

    • 不间断电源

  3. 请注意依赖于要禁用的每个服务的服务。 为此,请按照下列步骤进行操作:

    1. 双击要禁用的服务。

    2. 单击“依赖关系”选项卡。

    3. 在“ 此服务依赖于以下系统组件 ”列表中,请注意此服务所依赖的服务。

    4. “以下系统组件依赖于此服务 ”列表中,记下在没有此服务的情况下无法启动的服务,然后单击“ 确定”。

  4. 一次一个,禁用所选的每个服务。 为此,请按照下列步骤进行操作:

    1. 右键单击要禁用的服务,然后单击“ 属性”。

    2. “启动类型 ”列表中,单击“ 禁用”。

    3. 如果要立即停止服务,请单击“ 停止”。

      如果出现“ 停止其他服务 ”对话框,请注意其他也将停止的依赖服务,然后单击“ ”,然后单击“ 确定”。

  5. 重复步骤 4 以禁用其他不需要的服务。

注意

禁用每个服务后,测试服务器是否正确操作,以确保未禁用想要继续使用的服务。 如果服务器是 Windows Server 2008 域(BizTalk Server 通常为)的成员,则必须在系统上具有 TCP/IP 帮助程序服务才能将组策略正确应用于计算机。 禁用 DHCP 客户端时,DHCP 客户端将停止 DNS 动态更新协议注册,并要求将此客户端的手动 DNS 记录添加到 DNS 服务器。

手动加载 Microsoft 证书吊销列表

启动 .NET 应用程序时,.NET Framework将尝试下载任何已签名程序集 (CRL) 的证书吊销列表。 如果系统没有直接访问 Internet 的权限,或者无法访问 Microsoft.com 域,则可能会延迟启动BizTalk Server。 若要避免应用程序启动时出现这种延迟,可以使用以下步骤在系统上手动下载并安装代码签名证书吊销列表。

  1. http://crl.microsoft.com/pki/crl/products/CodeSignPCA.crlhttp://crl.microsoft.com/pki/crl/products/CodeSignPCA2.crl下载最新的 CRL 更新。

  2. 将 CodeSignPCA.crl 和 CodeSignPCA2.crl 文件移动到隔离的系统。

  3. 在命令提示符下,输入以下命令,以使用 certutil 实用工具使用步骤 1 中下载的 CRL 更新本地证书存储:

    certutil –addstore CA c:\CodeSignPCA.crl

    CRL 文件会定期更新,因此应考虑设置下载和安装 CRL 更新的重复任务。 若要查看下一次更新时间,请双击 .crl 文件并查看“ 下一个更新” 字段的值。

在所有服务器上同步时间

涉及票证、收据和日志记录的许多操作都依赖于本地系统时钟的准确性。 在分布式环境中尤其如此,因为系统之间的时间差异可能导致日志不同步,或者一个系统颁发的票证因过期或尚未有效而被拒绝。

有关将服务器配置为自动同步时间的详细信息,请参阅 为客户端计算机配置自动域时间同步

配置 Windows PAGEFILE 以获得最佳性能

按照以下准则配置 Windows PAGEFILE (分页文件) 以获得最佳性能:

  1. 将分页文件移动到与安装操作系统的物理驱动器分开的物理卷,以减少磁盘争用并提高磁盘性能 - 在BizTalk Server计算机上,与移动分页文件相关的性能提升因文档处理负载而异。 在SQL Server计算机上,由于SQL Server的磁盘密集型性质,在所有情况下,将分页文件移动到单独的卷被认为是最佳做法。

  2. 将分页文件隔离到一个或多个专用物理驱动器上,这些驱动器配置为 RAID-0 (条带化) 或 RAID-1 (镜像) 阵列,或者在没有 RAID 的单个磁盘上 - 通过使用专用磁盘或驱动器阵列,其中 PAGEFILE.SYS 是整个卷上唯一的文件,分页文件不会碎片化, 这也将提高性能。 与大多数磁盘阵列一样,随着数组中物理磁盘数量的增加,阵列的性能得到了提高。 如果分页文件分布在磁盘阵列中多个物理驱动器上的多个卷之间,则分页文件大小应与阵列中每个驱动器的大小相同。 配置磁盘阵列时,还建议使用容量和速度相同的物理驱动器。 请注意,分页文件通常不需要冗余。

  3. 不要在 RAID 5 阵列上配置分页文件 - 不建议在 RAID 5 阵列上配置分页文件,因为分页文件活动是写入密集型的,并且 RAID 5 阵列更适合读取性能,而不是写入性能。

  4. 如果没有资源将分页文件移动到安装操作系统以外的物理卷,请将分页文件配置为驻留在与操作系统相同的逻辑卷上 - 将分页文件配置为驻留在与操作系统位于同一物理磁盘上的另一个逻辑卷上将增加磁盘查找时间并降低系统性能,因为磁盘驱动器盘片头会增大磁盘查找时间并降低系统性能将持续在卷之间移动,或者访问页面文件、操作系统文件、应用程序文件和数据文件。 此外,操作系统通常安装在物理磁盘的第一个分区上,该分区通常最靠近物理磁盘的外部边缘,其中磁盘速度为 ,相关性能最适合磁盘。

    重要

    如果确实从启动分区中删除分页文件,Windows 将无法创建故障转储文件 (MEMORY。DMP) ,在发生内核模式 STOP 错误时写入调试信息。 如果确实需要故障转储文件,则除了在启动分区上保留至少物理内存大小 + 1 MB 的分页文件之外,别无选择。

  5. 手动设置分页文件的大小 – 手动设置分页文件的大小通常比允许服务器自动调整其大小或根本没有分页文件提供更好的性能。 最佳做法优化是将分页文件的初始 (最小) 和最大大小设置设置为相同的值。 这可确保不会因动态调整分页文件的大小而丢失任何处理资源,这可能很密集。 鉴于此大小调整活动通常在系统上的内存资源已变得受限时发生,则尤其如此。 设置相同的最小和最大页文件大小值还可以确保磁盘上的分页区域是一个连续的单一区域,从而缩短磁盘查找时间。 Windows Server 2008 自动建议总分页文件大小等于已安装 RAM 量的 1.5 倍。 在磁盘空间充足的服务器上,合并的所有磁盘上的分页文件应配置为物理内存的两倍,以获得最佳性能。

删除占用大量 CPU 的屏幕保护程序

已知 3D 或 OpenGL 屏幕保护程序占用大量 CPU,并在运行时使用重要的系统资源。 最好避免在服务器生成时将它们作为选项进行安装,或者如果已安装,则将其删除。 基本“Windows Server 2008”或空白屏幕保护程序是使用 CPU 密集型屏幕保护程序的绝佳替代方法。

另请参阅

优化操作系统性能