windows 上的空闲网络过滤器驱动程序性能

Idle network filter driver performance on windows

我在 Windows 上遇到了一个关于网络驱动程序过滤器的奇怪问题。 看来仅仅安装网络驱动过滤器会导致性能下降。

我正在测试 1 GB 带宽连接的不同场景,发现 CPU 中断增加,整体网络利用率降低。 安装的有问题的驱动程序完全处于数据包直通模式(没有数据包到达用户模式)。

  1. 是驱动程序的问题,还是每个安装的网络过滤器驱动程序都会导致性能下降,即使它什么都不做,而不是将内核模式下的数据包传递给堆栈中的下一个驱动程序?

  2. 这样的驱动在虚拟机上会有什么影响?

找遍了也没有定论。 如果有任何建议,我将不胜感激!

OS 为不存在 NDIS 过滤器的情况提供了快速路径。即使过滤器的作用很小,它的存在也会抑制快速路径。当没有安装 WFP 筛选器时,还有另一个快速路径。 WFP 快速路径对绩效的影响更为显着。因此,安装无操作过滤器(WFP 或 NDIS)对性能的影响很小也就不足为奇了。

影响应该很小,应该很难衡量。对于 NDIS,我预计对关键指标的影响远小于 1%。对于世界粮食计划署,我预计小规模 (1Gbps) 不到 1%,而大规模 (10Gbps+) 可能会多一点。在任何情况下,典型的 PC 都不应使用合成工作负载数据来努力运行 1Gbps 的全线速率。

我发出一般警告,性能测量是微妙的。生成被某些外部因素破坏的令人信服的图表太容易了。在彻底 "debugged" 数据本身之前,请谨慎下结论。