Windows 怎么在网卡配置中开启 RSS 接收端调节提升多核 CPU 处理网卡流量效率

大晨小哥_1745

大晨小哥_1745

2026-08-18

941人浏览

原创

必须启用rss并精确匹配队列数、cpu绑定与哈希规则才能实现多核并行处理网络流量;需确认硬件驱动支持、bios设置正确,配置队列数等于物理核心数、合理numa绑定,并优化哈希密钥与四元组规则,最后通过iperf3和perfmon验证负载均衡效果。

直接启用 rss 并配准,才能让多核 cpu 真正并行处理入站网络流量。它不是开个开关就完事,关键在于队列数、cpu 绑定、哈希规则三者匹配。

先确认硬件与驱动支持
RSS 必须由网卡硬件和对应驱动共同支撑。Windows 自带驱动常不开放高级功能:

  • 以管理员身份运行 PowerShell,执行:
    Get-NetAdapter | Where-Object {$_.Status -eq 'Up'} | Get-NetAdapterRss
    若返回空或提示“RSS not supported”,说明未就绪。
  • 进入设备管理器 → 网络适配器 → 右键网卡 → 属性 → “高级”选项卡,查找 RSS、Receive Side Scaling 或 Indirection Table 等条目。若不可见,需卸载当前驱动,安装厂商官方驱动(如 Intel PROSet、Mellanox OFED 或 Broadcom NetXtreme 驱动包)。
  • 同时检查 BIOS:确保 VT-d/AMD-Vi、SR-IOV 已开启,PCIe ASPM 设为 Disabled,电源策略设为 Performance。

启用并设置 RSS 队列与 CPU 绑定
队列数应等于物理核心数,而非逻辑处理器总数(超线程对 RSS 无增益):

  • 单路 16 核 CPU(如 Xeon Silver 4314),建议设 16 个队列;双路服务器需按 NUMA 节点分组绑定(如 Node 0 的 CPU 0–15 绑定队列 0–7,Node 1 的 CPU 16–31 绑定队列 8–15)。
  • 执行命令(将 "Ethernet" 替换为实际网卡名):
    Enable-NetAdapterRss -Name "Ethernet"
    Set-NetAdapterRss -Name "Ethernet" -BaseProcessorNumber 0 -MaxProcessors 16 -NumberOfReceiveQueues 16
  • 推荐预留 CPU 0 和 1 给系统中断与调度,RSS 使用后续核心(如 CPU 2–17),避免干扰。

优化哈希行为与间接表
默认哈希易导致小流倾斜,尤其在 API 网关、gRPC 等场景:

  • 查看当前间接表分布:netsh int ipv4 show rss "Ethernet"
  • 观察 PerfMon 中 \Network Interface\Bytes Received/sec 按实例统计,确认各队列负载是否均衡。
  • 重置哈希密钥提升散列均匀性:
    Set-NetAdapterRss -Name "Ethernet" -HashSecretKey ([byte[]](1..40 | ForEach-Object { Get-Random -Min 0 -Max 255 }))
  • 若业务以 IPv4 TCP 小包为主,强制启用四元组哈希:
    Set-NetAdapterRss -Name "Ethernet" -HashIPv4TcpEnabled $true -HashIPv4Enabled $false -HashIPv6TcpEnabled $true
  • 禁用 VMQ(虚拟机队列),避免与 RSS 冲突:Disable-NetAdapterVmq -Name "Ethernet"

验证效果是否真正生效
配置后必须实测,不能只看开关状态:

  • 使用 iperf3 多流压测(如 -P 16),对比单流与多流吞吐差异。
  • 在 PerfMon 中添加计数器:
    • \Processor(*)\% Processor Time → 查看各核心负载是否分散
    • \Network Interface(*)\Bytes Total/sec → 确认总接收速率接近链路理论上限
  • 若某核心仍长期 >85%,而其他核心闲置,说明间接表未生效或哈希规则不匹配,需回查绑定与密钥设置。

不复杂但容易忽略。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

860

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2552

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

856

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

769

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

394

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2296

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4232

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

687

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习