影响适配器性能的配置参数

本部分介绍可能会影响 BizTalk Server 适配器性能的配置设置。

主机的 CLR 宿主线程值

因为 Windows 线程是 Windows 进程可用的最基本的可执行单元,因此,有必要为与 BizTalk 主机实例相关联的 .NET 线程池分配足够的线程以防止线程不足。 线程不足时,没有足够的线程用于执行请求的作业,因此可能会对性能造成负面影响。 同时应注意防止为与主机相关联的 .NET 线程池分配不必要的过多线程。 为与主机相关联的 .NET 线程池分配过多的线程会增加上下文切换,也会对总体性能造成负面影响。 Windows 内核从运行一个线程切换到运行另一个线程时,会发生上下文切换,这可能是一个成本高昂的 CPU 操作。

通过在“BizTalk Server设置”仪表板中配置适当的值,修改与 BizTalk 主机实例关联的 .NET 线程池中可用的 Windows 线程数。 有关修改 .NET CLR 值的详细信息,请参阅 如何修改 .NET CLR 设置

可能影响 HTTP 或 SOAP 适配器性能的 ASP.NET 设置

以下设置可应用于托管 HTTP 或 SOAP 适配器与之通信的 Web 应用程序的 ASP.NET 应用程序。 这些参数是在作为该 Web 应用程序宿主的服务器的 web.config 或 machine.config 文件中设置的。 请修改这些设置以适合 HTTP 或 SOAP 适配器发送端口生成的负载。 有关这些设置的详细信息,请参阅 从 ASP.NET 应用程序调用 Web 服务时出现的性能问题

参数 配置文件的节 默认值 建议的值
minFreeThreads

允许执行新请求的自由线程的最小数目。 ASP.NET 为需要额外线程完成其处理的请求保留了多个自由线程。
<httpRuntime> 8 88 * 托管 Web 应用程序的服务器上的处理器数。
minFreeLocalRequestFreeThreads

ASP.NET 保持用于执行新的本地请求的最小可用线程数。 此线程数目是为从本地主机传入的请求而保留的,以防某些请求在其处理期间发出对本地主机的子请求。 这可以避免由于递归重入 Web 服务器而可能带来的死锁。
<httpRuntime> 4 76 * 托管 Web 应用程序的服务器上的处理器数。
executionTimeout

指示在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。
<httpRuntime> 90 90
maxconnection

确定可以向特定的 IP 地址建立多少个连接。
<connectionManagement> 2

如果此设置的值为 2,则符合 HTTP 1.1 规范的 IETF RFC,因此此值可供用户使用,但不利于优化高吞吐量。
12 * 托管 Web 应用程序的服务器上的处理器数。
maxWorkerThreads

按 CPU 配置用于进程的辅助线程的最大数目。
<processModel> 20 100 注意: 此值隐式乘以服务器上的处理器数。
minWorkerThreads <processModel> 1 maxWorkerThreads / 2 注意: 默认情况下,minWorkerThreads 参数不在配置文件中。 必须添加它。 注意: 此值隐式乘以服务器上的处理器数。
maxIoThreads

ASP.NET 使用此参数来限制所使用的完成线程数。
<processModel> 20 100

此值将隐式乘以服务器上的处理器数。

如果托管 Web 服务的计算机 ASP.NET 2.0 或更高版本运行,则可以在 Machine.config 文件的 processModel 节中设置 autoConfig=true ,以根据计算机配置自动配置以下设置以实现最佳性能:

  • maxWorkerThreads 属性。

  • maxIoThreads 属性。

  • httpRuntime 元素的 minFreeThreads 属性。

  • httpRuntime 元素的 minLocalRequestFreeThreads 属性。

  • connectionManagement> 元素的 <maxConnection 属性 (网络设置) 元素。

注意

processModel 节只能在 Machine.config 文件中设置,并且会影响服务器上运行的所有 ASP.NET 应用程序。

有关 processModel 的详细信息,请参阅 ProcessModelSection 类

控制 TCP 窗口大小的注册表设置

以下注册表设置控制 TCP 窗口大小,它是在连接过程中可以缓冲的接收数据的数量(以字节为单位)。 如果未将此参数设置为最佳值,则适配器性能会受到负面影响。 实现此注册表设置可增大 TCP 窗口大小。

警告

如果注册表编辑器使用不当,则可能会产生严重问题,导致重新安装操作系统。 Microsoft 不保证可以解决因注册表编辑器使用不当而造成的问题。 请慎用注册表编辑器,风险自负。 在修改注册表之前,请务必备份注册表,并确保你知道在发生问题时如何使用备份进行还原。

若要增大默认的 TCP 窗口大小,请执行以下步骤:

  1. 依次单击 启动”运行”,键入 regedit.exe,然后单击 确定” 以启动注册表编辑器。

    导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\

  2. Parameters 键下,使用指示的值创建以下 DWORD 条目。

    DWORD 项 默认值 建议的值
    TcpWindowSize

    此设置确定计算机的最大 TCP 接收窗口大小。 接收窗口指定发送方在不会收到确认的情况下可以传输的字节数。 通常,较大的接收窗口会改善高带宽网络的性能。
    17520 设置为以太网最大段大小 (MSS) 1460 的倍数,最大为 64240。 如果使用 Windows 缩放,则设置为最大 65535。

    注意

    要使所做的更改生效,必须重新启动计算机。

  3. 关闭注册表编辑器。

另请参阅

性能和容量规划