应遵循以下一般准则来提高作系统性能:
安装最新的 BIOS、存储区域网络 (SAN) 驱动程序、网络适配器固件和网络适配器驱动程序
硬件制造商会定期发布 BIOS、固件和驱动程序更新,以提高关联硬件的性能和可用性。 访问硬件制造商的网站,在 BizTalk Server 环境中的每台计算机上下载并应用以下硬件组件的更新:
BIOS 更新
SAN 驱动程序(如果使用 SAN)
NIC 固件
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 计算机上关闭 Hyper-threading。 这是 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 环境中对磁盘进行碎片整理:
通过计划非工作时间磁盘碎片整理来定期对所有磁盘(本地和 SAN/NAS)进行碎片整理。
对 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)
单击“ 开始”,单击“ 运行”,键入 dcomcnfg,然后单击“ 确定 ”打开 组件服务。
在控制台树中,依次展开 “组件服务”、“ 计算机”、“ 我的计算机”、“ 分布式事务处理协调器”,然后单击“ 本地 DTC”。
右键单击 “本地 DTC”,然后单击“ 属性 ”以显示 “本地 DTC 属性 ”对话框。
在“ 跟踪 ”选项卡上的“ 输出选项 ”部分,清除 “跟踪输出 ”框。
单击“安全”选项卡。
确保已选择以下四个选项中的每一个,并清除所有其他选项:
网络DTC访问
允许入站
允许外发
不需要身份验证
单击“ 确定 ”关闭 “本地 DTC 属性 ”对话框。 如果系统提示重启 MSDTC 服务,请单击“ 是”。
关闭 组件服务。
单击“ 开始”,指向 管理工具,然后单击 具有高级安全性的 Windows 防火墙。
在具有高级安全性的 Windows 防火墙中,单击“ 入站规则”。
在“ 入站规则 ”窗格中,右键单击 “分布式事务处理协调器”*(适当),然后单击“ 启用规则”。
在具有高级安全性的 Windows 防火墙中,单击“ 出站规则”。
在“ 出站规则 ”窗格中,右键单击 “分布式事务处理协调器”*(适当),然后单击“ 启用规则”。
在 控制面板上,双击 “管理工具”。
在右侧窗格中,双击 “服务”。
在 “服务”(本地)的右侧窗格中,右键单击 COM+ 系统应用程序,单击“ 重启”,然后等待服务重启。
右键单击并重启 分布式事务处理协调器 服务。
右键单击并重启 SQL Server (MSSQLSERVER) 服务。
关闭 服务(本地),然后关闭 管理工具。
为 BizTalk Server 配置防火墙(s)
注释
仅当 BizTalk Server 环境中存在一个或多个防火墙时,才需要此步骤。
查看以下信息以配置 BizTalk Server 的防火墙::
若要配置 RPC 动态端口分配以使用防火墙,请参阅 Windows Vista 和 Windows Server 2008 中 TCP/IP 的默认动态端口范围已更改。 有关如何配置 Windows 防火墙以适应所需端口的信息,请参阅 Windows 防火墙和 IPsec 策略部署分步指南。
使用 Interrupt-Affinity 策略工具将网络适配器中断绑定到多处理器计算机上的特定处理器
Interrupt-Affinity 策略(IntPolicy)是一种工具,用于将给定设备(例如网络适配器)中断的 CPU 相关性“绑定”到多处理器计算机上的特定处理器或多个处理器。 此绑定也称为分区。 将特定网络适配器的中断绑定到多处理器计算机上的特定处理器,确保延迟过程调用(DPC)和中断服务例程(ISR)都在这些指定的处理器上执行。 请注意,无法在单个处理器计算机上配置中断相关性。
注释
DPC 定义为对内核模式函数的排队调用,该函数通常在以后执行。 ISR 被定义为例程,其用途是在设备生成中断时为设备提供服务。
Interrupt-Affinity 策略工具
在基于 Windows Server 2008 的多处理器计算机上,中断控制器的默认行为是将设备中断分配给任何可用的处理器。 当给定网络适配器的网络连接和文件服务器会话绑定/分区以在特定处理器集上运行(而不是任何可用的处理器)时,将改进关联的网络处理的性能和可伸缩性。 大型 BizTalk Server 解决方案往往会使用具备多个网络适配器的多处理器 SQL Server 计算机,而其中的中断绑定功能可能会特别有益。
应始终在测试环境中评估 IntPolicy 的中断绑定,然后再在生产环境中使用。 测试环境的硬件、作系统和应用程序配置应尽可能接近生产环境。 这样,就可以测试中断绑定的各种排列,并确定中断绑定会增加性能的程度。
建议在使用支持超线程处理的 CPU 的计算机上配置 IntPolicy 之前禁用超线程处理。 这将确保将中断分配给物理处理器,而不是逻辑处理器。 将中断相关性分配给引用相同物理处理器的逻辑处理器不会提高性能,甚至可能会降低系统性能。
Interrupt-Affinity 策略工具可从 WHDC 网站下载。
在所有卷上使用 NTFS 文件系统
Windows Server 为格式化驱动器提供多种文件系统类型,包括 NTFS、FAT 和 FAT32。 NTFS 应始终是服务器选择的文件系统。
NTFS 在 FAT 和 FAT32 文件系统上提供了相当大的性能优势,应专用于 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 主机实例)的性能,请执行以下步骤:
单击“ 开始”,单击 “控制面板”,然后单击“ 系统”。
单击“高级”选项卡,然后单击“性能”下的“设置”。
单击“ 高级 ”选项卡,单击 “后台服务”,然后单击“ 确定 ”两次。
禁用非基本服务
Windows Server 2008 的默认安装启用多个在 BizTalk Server 环境中可能不需要的服务。 每个正在运行的服务都会消耗系统资源,因此应禁用不必要的服务以提高整体性能。 禁用服务时应小心。 在禁用服务之前,请彻底研究服务的目的,因为 Windows Server 需要运行某些服务。 如果 Windows Server 2008 所需的服务已禁用,则作系统可能会变得不可作,甚至可能无法启动。 若要禁用不需要的 Windows Server 2008 服务以专用于 BizTalk Server,请执行以下步骤:
单击“开始”,指向“管理工具”,然后单击“计算机管理”。
在 “计算机管理”(本地)下,展开 “服务和应用程序”,然后单击“ 服务”。 在 “状态 ”列中,正在运行的每个服务都标记为“已启动”。停止和禁用不必要启动的任何服务,例如,专用 BizTalk Server 上不需要以下服务:
警报器
ClipBook
DHCP 服务器
传真服务
文件复制
红外监视器
网络连接共享
信使
NetMeeting 远程桌面共享
网络 DDE
网络 DDE DSDM
NWLink NetBIOS
NWLink IPX/SP
打印后台处理程序
电话
Telnet
不间断电源
请注意每个您想禁用的服务所依赖的其他服务。 为此,请执行以下步骤:
双击要禁用的服务。
单击“ 依赖项 ”选项卡。
在此服务取决于以下系统组件列表中,请注意此服务所依赖的服务。
在以下系统组件依赖于此服务列表中,请注意没有此服务无法启动的服务,然后单击“确定”。
一次一个,禁用已选择的每个服务。 为此,请执行以下步骤:
右键单击要禁用的服务,然后单击“ 属性”。
在 “启动类型 ”列表中,单击“ 已禁用”。
如果要立即停止服务,请单击“ 停止”。
如果出现“ 停止其他服务 ”对话框,请注意其他也将停止的依赖服务,然后单击“ 是”,然后单击“ 确定”。
重复步骤 4 以禁用其他非重要服务。
注释
在禁用每个服务后测试服务器的正确作,以确保未禁用想要继续使用的服务。 如果服务器是 Windows Server 2008 域的成员,BizTalk Server 通常属于该域,则必须在系统上拥有 TCP/IP 帮助程序服务,才能将组策略正确应用到计算机。 禁用 DHCP 客户端时,DHCP 客户端将停止 DNS 动态更新协议注册,并要求将此客户端手动 DNS 记录添加到 DNS 服务器。
手动加载Microsoft证书吊销列表
启动 .NET 应用程序时,.NET Framework 将尝试下载任何已签名程序集的证书吊销列表(CRL)。 如果系统没有直接访问 Internet,或者限制访问 Microsoft.com 域,这可能会延迟 BizTalk Server 的启动。 若要避免在应用程序启动时出现这种延迟,可以使用以下步骤在系统上手动下载和安装代码签名证书吊销列表。
从http://crl.microsoft.com/pki/crl/products/CodeSignPCA.crl和http://crl.microsoft.com/pki/crl/products/CodeSignPCA2.crl下载最新的 CRL 更新。
将 CodeSignPCA.crl 和 CodeSignPCA2.crl 文件移动到隔离的系统。
在命令提示符中,输入以下命令来使用 certutil 工具,将步骤 1 中下载的 CRL 更新到本地证书存储中。
certutil –addstore CA c:\CodeSignPCA.crl
CRL 文件会定期更新,因此应考虑设置下载和安装 CRL 更新的递归任务。 若要查看下一次更新时间,请双击 .crl 文件并查看 “下一个更新” 字段的值。
在所有服务器上同步时间
涉及票证、收据和日志记录的许多操作都依赖于本地系统时钟的准确。 这在分布式环境中尤其如此,其中系统之间的时间差异可能导致日志不同步或一个系统颁发的票证被另一个系统拒绝为过期或无效。
有关将服务器配置为自动同步时间的详细信息,请参阅 “为客户端计算机配置自动域时间同步”。
配置 Windows PAGEFILE 以获得最佳性能
按照以下准则配置 Windows PAGEFILE(分页文件),以获得最佳性能:
将分页文件移动到与安装作系统的物理驱动器分开的物理卷,以减少磁盘争用并提高磁盘性能 - 在 BizTalk Server 计算机上,与移动分页文件相关的性能提升将因文档处理负载而异。 在 SQL Server 计算机上,由于 SQL Server 的磁盘密集型性质,将分页文件移动到单独的卷被认为是在所有方案中的最佳做法。
将分页文件隔离到配置为 RAID-0(条带化)或 RAID-1(镜像)阵列的一个或多个专用物理驱动器上,或者在没有 RAID 的单个磁盘上隔离分页文件 - 通过使用专用磁盘或驱动器阵列,其中PAGEFILE.SYS是整个卷上唯一的文件,分页文件不会碎片化,这也可以提高性能。 与大多数磁盘阵列一样,随着阵列中的物理磁盘数的增加,数组的性能也得到了改进。 如果分页文件分布在磁盘阵列中多个物理驱动器上的多个卷之间,则分页文件大小应与数组中的每个驱动器的大小相同。 配置磁盘阵列时,还建议使用具有相同容量和速度的物理驱动器。 请注意,页面文件通常不需要冗余。
不要在 RAID 5 阵列上配置分页文件 - 不建议在 RAID 5 阵列上配置分页文件,因为分页文件活动写入密集型,RAID 5 阵列更适合读取性能,而不是写入性能。
如果没有资源将分页文件移到操作系统安装所在的物理卷以外的卷上,请将分页文件配置为与操作系统驻留在同一个逻辑卷上。将分页文件配置为驻留在另一个与操作系统同一物理磁盘上的逻辑卷,将增加磁盘搜索时间,并降低系统性能,因为磁盘驱动器的盘片读写头将不断在不同的卷之间移动,交替访问页面文件、操作系统文件、应用程序文件和数据文件。 此外,操作系统通常安装在物理磁盘的第一个分区上,该分区通常最接近物理磁盘的外部边缘,磁盘速度和相关性能在该分区上达到最佳状态。
重要
如果从启动分区中删除分页文件,Windows 将无法在发生内核模式 STOP 错误时创建用于写入调试信息的故障转储文件 (MEMORY.DMP)。 如果确实需要故障转储文件,那么你别无选择,只能在启动分区上保留至少等于物理内存大小加 1 MB 的分页文件。
手动设置分页文件的大小 – 手动 设置分页文件的大小通常比允许服务器自动调整其大小或完全没有分页文件提供更好的性能。 最佳做法优化是将分页文件的初始(最小值)和最大大小设置设置为相同的值。 这可确保不会浪费任何处理资源,因为对分页文件的动态大小调整可能会导致资源消耗大。 尤其如此,因为这种调整大小的活动通常发生在系统内存资源已经变得紧张时。 设置相同的最小和最大页面文件大小值还可以确保磁盘上的分页区域是一个单一的连续区域,从而提高磁盘查找时间。 Windows Server 2008 自动建议总分页文件大小等于已安装 RAM 的 1.5 倍。 在磁盘空间充足的服务器上,所有磁盘上的分页文件应配置为物理内存的两倍,以获得最佳性能。
删除 CPU 密集型屏幕保护程序
3D 或 OpenGL 屏幕保护程序已知是 CPU 密集型的,在运行时使用重要的系统资源。 最好避免在服务器生成时将它们完全安装为一个选项,或者删除它们(如果已安装)。 基本“Windows Server 2008”或空白屏幕保护程序是使用 CPU 密集型屏幕保护程序的绝佳替代方法。