Udp WPA显示运行232毫秒的NIC驱动程序DPC片段

Udp WPA显示运行232毫秒的NIC驱动程序DPC片段,udp,driver,performance-testing,etw,xperf,Udp,Driver,Performance Testing,Etw,Xperf,我正在一台有8个逻辑CPU的机器上对我的UDP代理进行压力测试。在大约14000个UDP客户机上,其中一个CPU(CPU4)开始出现峰值,UDP吞吐量(如任务管理器所示)骤降到零。我使用WPR来记录峰值期间的CPU使用情况,WPA显示CPU4处理的DPC/ISR片段(约11K)是所有其他CPU(每个约5K)的两倍。最长的DPC片段运行了232毫秒,接下来的5个DPC片段都运行了100毫秒以上,接下来的57个片段运行了1到90毫秒 片段被定义为“DPC或ISR不间断运行的一段时间。” Micros

我正在一台有8个逻辑CPU的机器上对我的UDP代理进行压力测试。在大约14000个UDP客户机上,其中一个CPU(CPU4)开始出现峰值,UDP吞吐量(如任务管理器所示)骤降到零。我使用WPR来记录峰值期间的CPU使用情况,WPA显示CPU4处理的DPC/ISR片段(约11K)是所有其他CPU(每个约5K)的两倍。最长的DPC片段运行了232毫秒,接下来的5个DPC片段都运行了100毫秒以上,接下来的57个片段运行了1到90毫秒

片段被定义为“DPC或ISR不间断运行的一段时间。”

Microsoft建议DPC片段的运行时间不超过100微秒!(见附件)

bxvbda.sys是模块(Broadcom NetXtreme II GigE VBD),um_bdrv_dpc是所有这些长期运行的dpc片段的功能

所以我的问题是:我是否正确解释了DPC的WPA数据


我分析etl跟踪已经有一段时间了,是的,您似乎正确地看到了这一点。您没有提到正在使用的服务器版本,但某些版本的Windows server上的UDP通信需要热修复。这可能值得调查

下面这篇文章是关于分析DPC问题的非常棒的文章,也许你也想看看。从本质上讲,您可以在跟踪过程中寻找超过100毫秒的时间。现在在Windows8中,这发生了很大的变化,那么什么操作系统(再次):)

在Windows 8中,您可以看到我们更改了DPC的计算方式,参考如下

要点:

“为什么Windows 8中的DPC延迟如此糟糕?我使用程序DPC延迟检查器进行测量。Windows 7在桌面上显示约90u,但Windows 8 CP从未显示低于1000u的延迟。”

“在Windows 8上,它报告的DPC延迟最低为1000us(1ms)。它从未低于1000us。它经常在2-3ms(2000-3000us)范围内出现峰值,并且在处理过程中经常会在20-30ms范围内出现峰值。”


我认为您对数据的解释是正确的。如果你分享了线索,那么专家们就更容易确定了。CPU使用率(采样)应显示在这些长DPC期间驱动程序正在执行的操作。最终你需要和Broadcom谈谈。给他们一个线索,告诉他们修理他们的司机。