将 TCP IP 端口映射到 NUMA 节点 (SQL Server)

适用于:SQL Server

本文介绍如何使用 SQL Server Configuration Manager 将 TCP/IP 端口映射到非统一内存访问(NUMA)节点。 启动时, 数据库引擎 会将节点信息写入错误日志中。

若要确定要使用的节点的节点数,请从错误日志或 sys.dm_os_schedulers 视图中读取节点信息。 若要将 TCP/IP 地址和端口设置到一个或多个节点,请在端口号后用括号追加一个节点标识位图(关联掩码)。 可以按十进制格式或十六进制格式指定节点。 若要创建位图,请先从右到左且以零开头为节点编号,例如 76543210。 创建节点列表的二进制表示形式,为要使用的节点提供 1 个,对于不想使用的节点,则为 0。 例如,若要使用 NUMA 节点 0、2 和 5,请指定 00100101

NUMA node number                            76543210
Mask for 0, 2, and 5 counting from right    00100101

将二进制表示形式(00100101)转换为十进制 [37]或十六进制 [0x25]。 若要侦听所有节点,则不提供任何节点标识符。

如果一个端口映射到多个 NUMA 节点,则 SQL Server 以循环的方式将连接分配到各节点,而不会试图平衡节点之间的负载。

注意

若要使 SQL Server 能够侦听每个 IP 地址的多个 TCP 端口,请参阅 配置数据库引擎以侦听多个 TCP 端口

使用 SQL Server 配置管理器

  1. 在 SQL Server Configuration Manager 中,展开 SQL Server 网络配置,然后选择实例名称>的<协议

  2. 在详细信息窗格中,双击“TCP/IP”。

  3. “IP 地址” 选项卡(要配置的 IP 地址的相应部分)的 “TCP 端口” 框中,在端口号后面的方括号里添加 NUMA 节点标识符。 例如,对于 TCP 端口 1500 和节点 0、2 和 5,请使用 1500[37]1500[0x25]