我在W2008服务器上运行第三方软件.此客户端通过TCP连接到服务器.两者之间的平均ping时间是1ms.但是,当我在资源监视器中检查应用程序的tcp连接时,它会将延迟显示为20毫秒.
我在客户端接口上运行数据包捕获,并查看确认时间<1ms.
客户端的tcp设置如下:
Receive-Side Scaling State : enabled Chimney Offload State : automatic NetDMA State : enabled Direct Cache Acess (DCA) : disabled Receive Window Auto-Tuning Level : normal Add-On Congestion Control Provider : ctcp ECN Capability : disabled RFC 1323 Timestamps : disabled
此外,我在特定接口的注册表中将TcpNoDelay和TcpAckFrequency设置为1. NIC已启用卸载.
资源监视器如何计算此20 ms TCP延迟?
Win2008中是否还有其他TCP设置可以减少这种延迟?
首先,资源监视器/ perfmon使用与wireshark等使用的不同的测量系统,这就是延迟不同的原因.
原文链接:https://www.f2er.com/windows/366105.html没有进入Windows API的深度,差异是由后处理和低优先级引起的.
鉴于实际延迟是1毫秒,没有任何进一步的设置你可以应用,我不知道你可以做什么改变’修复’Windows API perfmon所以它显示’正确’延迟.
如果你愿意我可以找到perfmon较慢的确切原因,但根据以前的经验,上述原因就是原因.