本主题提供有关优化在生产 BizTalk Server 环境中使用的 BizTalk Server 计算机性能的建议。 安装并配置 BizTalk Server 后,将应用这些优化。
提高操作系统性能的一般准则
以下建议可用于提高作系统性能:
安装最新的 BIOS、存储区域网络 (SAN) 驱动程序、网络适配器固件和网络适配器驱动程序
硬件制造商会定期发布 BIOS、固件和驱动程序更新,以提高关联硬件的性能和可用性。 访问硬件制造商的网站,在 BizTalk Server 环境中的每台计算机上下载并应用以下硬件组件的更新:
BIOS 更新
SAN 驱动程序(如果使用 SAN)
NIC 固件
NIC 驱动程序
将 MSDTC 日志文件目录分配给单独的专用驱动器
在单独的 SQL Server 计算机上具有多个 MessageBox 数据库的 BizTalk Server 环境中,会产生与Microsoft分布式事务处理协调器(MSDTC)关联的额外开销。 默认情况下,MSDTC 日志文件位于运行 DTC 服务的计算机的 %systemdrive%\windows\system32\msdtc 目录中。 若要缓解 DTC 日志记录可能成为性能瓶颈的可能性,请考虑将 MSDTC 日志文件目录移动到快速磁盘驱动器。 若要更改 MSDTC 日志文件目录,请执行以下步骤:
单击“ 开始”,单击“ 运行”,然后键入 dcomcnfg 以启动 组件服务 管理控制台。
展开组件服务,展开“计算机”,右键单击“我的计算机”,然后单击“属性”。
在“ 我的计算机属性 ”对话框中,单击 “MSDTC ”选项卡。
在“日志信息”下的“位置编辑”框中,键入要创建新日志的路径(例如 G:\Logs\DTCLog)。
单击 “重置日志”,系统会提示重启服务。 单击“ 确定 ”以重启 DTC 服务,然后单击“ 确定 ”以确认 MSDTC 服务已重启。
配置防病毒软件以避免实时扫描 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 环境中每个磁盘的主文件表,以提高系统的整体性能。
注释
使用 PageDefrag 实用工具对 Windows PageFile 进行碎片整理,并预先分配主文件表。 有关详细信息,请转到 Windows 命令:磁盘整理。
如果在 SQL Server 计算机上安装防病毒软件,请禁用对数据和事务文件的实时扫描
实时扫描 SQL Server 数据和事务文件(.mdf、.ndf、.ldf、.mdb)可以增加磁盘 I/O 争用并减少 SQL Server 性能。 请注意,SQL Server 数据和事务文件的名称可能因 BizTalk Server 环境而异。 有关使用默认 BizTalk Server 配置创建的数据和事务文件的详细信息,请参阅优化数据库的文件组。
为 BizTalk Server 配置 MSDTC
查看以下信息,为 BizTalk Server 配置 MSDTC:
在 BizTalk Server 上配置 MSDTC。 有关详细信息,请转到 设置和安装 BizTalk Server 2020 的先决条件。
为 BizTalk Server 配置防火墙(s)
注释
仅当 BizTalk Server 环境中存在一个或多个防火墙时,才需要此步骤。
查看以下信息以配置 BizTalk Server 的防火墙::
在所有卷上使用 NTFS 文件系统
Windows Server 为格式化驱动器提供多种文件系统类型,包括 NTFS、FAT 和 FAT32。 NTFS 应始终是服务器选择的文件系统。Windows Server
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 Server 性能监视器工具监视 Avg.Disk Bytes/Read 和 Avg.Disk Bytes/Write 在正常活动的一段时间内的逻辑磁盘对象计数器,以帮助确定要使用的最佳值。
尽管如果系统将访问许多小型文件或记录,则可能需要较小的分配单元大小,但在大多数情况下,分配单元大小为 64 KB 可提供良好的性能和 I/O 吞吐量。 当磁盘负载增加时,可以明显看到调整分配单元大小后性能的改善。
注释
格式化卷时,需要 FORMAT 命令行工具或磁盘管理工具来指定大于 4096 字节(4 KB)的分配单元大小。 Windows 资源管理器将仅格式化达到此阈值。 CHKDSK 命令可用于确认卷的当前分配单元大小,但需要在显示所需信息之前扫描整个卷(显示为每个分配单元中的字节)。
监视驱动器空间使用情况
磁盘上的数据越少,运行速度就越快。 这是因为在经过良好碎片整理的驱动器上,数据将尽可能接近磁盘的外部边缘写入,因为这是磁盘旋转速度最快并产生最佳性能的地方。
磁盘查找时间通常比读取或写入活动长得多。 如上所述,数据最初写入磁盘的外部边缘。 随着对磁盘存储的需求增加和可用空间的减少,数据写入到更靠近磁盘中心的位置。 当头移离边缘时,磁盘查找时间会增加,在找到数据时,读取所需的时间更长,从而阻碍磁盘 I/O 性能。
这意味着,监视磁盘空间利用率不仅出于容量原因,而且对于性能也很重要。
根据经验,努力将磁盘的空余空间保持在总磁盘空间的 20% 到 25% 之间。 如果可用磁盘空间低于此阈值,则磁盘 I/O 性能将受到负面影响。
实施策略以避免磁盘碎片
定期在磁盘(包括根驱动器)上运行碎片整理程序实用工具,以防止性能下降。 每周在繁忙的磁盘上进行此操作。 磁盘碎片整理程序随 Windows Server 一起安装,可以按指定的时间间隔从计划任务运行。
优化后台服务的 Windows Server 性能
BizTalk Server 进程(BTSNTSVC.exe)作为后台服务运行。 默认情况下,Windows Server 配置为针对应用程序程序的最佳性能进行调整,而不是针对后台服务。
Windows Server 使用抢占式多任务来确定 CPU 将参与的进程线程的优先级。 抢占式多任务处理是一种技术,即由操作系统决定暂停一个进程的执行,并启动另一个进程。 此方案可防止单个线程控制 CPU。
将 CPU 从执行一个进程切换到下一个进程称为上下文切换。 Windows操作系统包括一个设置,用于确定在发生上下文切换之前单个线程允许在 CPU 上运行的时间,以及下一个线程被处理的时间。 此时间量称为量子。 通过此设置,可以选择在前台程序和后台服务之间共享处理器 quanta 的方式。 通常,对于服务器来说,不希望前台应用分配的 CPU 时间超过后台服务。 也就是说,在服务器上运行的所有应用程序及其进程都应同时考虑 CPU 时间。
若要提高后台服务(如 BizTalk 主机实例)的性能,请执行以下步骤:
单击“ 开始”,单击 “控制面板”,然后单击“ 系统”。
单击“高级”选项卡,然后单击“性能”下的“设置”。
单击“ 高级 ”选项卡,单击 “后台服务”,然后单击“ 确定 ”两次。
手动加载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 的分页文件。
手动设置分页文件的大小 – 手动 设置分页文件的大小通常比允许服务器自动调整其大小或完全没有分页文件提供更好的性能。 最佳做法优化是将分页文件的初始(最小值)和最大大小设置设置为相同的值。 这可确保不会浪费任何处理资源,因为对分页文件的动态大小调整可能会导致资源消耗大。 尤其如此,因为这种调整大小的活动通常发生在系统内存资源已经变得紧张时。 设置相同的最小和最大页面文件大小值还可确保磁盘上的分页区域是一个连续的单个区域,从而提高磁盘查找时间。