测试网络连接连接到环回地址的速度慢有什么原因吗



我试图弄清楚TCP连接有一些奇怪的网络延迟。在我的测试中,我同时使用Test-NetConnection(别名tnc(和System.Net.Sockets.TCP客户端。System.Net.Sackets.TCP客户机库在几毫秒内创建与外部服务器和环回地址的连接。然而,当我使用TNC时,我从不同的机器上得到了截然不同的结果,即使是环回地址。在最快的机器上,环回的TNC为400毫秒,在最差的机器上为9秒。注意,我只是在谈论没有任何PING超时或其他警告的成功TNC命令。在诊断与TNC行为一致的应用程序行为方面,这些结果对我来说似乎很有用。在距离TNC环回9秒的机器上,建立应用程序连接的速度也很慢。这就是为什么我试图弄清楚为什么TNC连接到环回的速度如此之慢。

Measure-Command {tnc 127.0.0.1 -port 445 | Out-Default} | ft TotalMilliseconds

我无法解释为什么它很慢,但这里是一个更快的版本。这可能因计算机而异。

$HomeIP = Measure-Command {tnc 127.0.0.1 -port 445 | Out-Default} 
$localhost = Measure-Command {tnc localhost -port 445 | Out-Default} 
$Compname =  Measure-Command {tnc $env:COMPUTERNAME -port 445 | Out-Default}
Write-host "127.0.0.1 takes $($HomeIP.TotalMilliseconds) Milliseconds"
write-host "localhost takes $($localhost.TotalMilliseconds) Milliseconds"
write-host "`$env:COMPUTERNAME takes $($Compname.TotalMilliseconds) Milliseconds"

127.0.0.1 takes 4741.1638 Milliseconds
localhost takes 1197.1043 Milliseconds
$env:COMPUTERNAME takes 269.6711 Milliseconds

最新更新