我有一台全新的联想瑜伽笔记本电脑,配备Windows 10 Pro。
我注意到,在下载和安装应该快速安装的软件时,Chocolatey似乎非常非常慢。
这让我怀疑Powershell有问题,无论是在PS本身还是在这台笔记本电脑上,我都无法排除故障。
简而言之,curl
/ Invoke-WebRequest
一直需要大约43秒。
PS C:\WINDOWS\system32> Measure-Command { curl https://microsoft.com }
Days : 0
Hours : 0
Minutes : 0
Seconds : 43
Milliseconds : 316
Ticks : 433164486
TotalDays : 0.000501347784722222
TotalHours : 0.0120323468333333
TotalMinutes : 0.72194081
TotalSeconds : 43.3164486
TotalMilliseconds : 43316.4486
连续运行几次后,它会快速开始运行......几百毫秒左右。然后,如果我稍等一下,它会回到43秒。我认为它可能与防病毒有关,所以我暂时禁用了防病毒,但这没有效果。
我在WSL中尝试了Ubuntu中的curl,并没有看到这种行为:
marc@ulysses:marc$ time curl https://microsoft.com
<!--TOOLBAR_EXEMPT-->
real 0m0.738s
user 0m0.141s
sys 0m0.234s
有关故障排除/解决此问题的任何建议吗?多年后我回到Windows,甚至不知道从哪里开始。提前谢谢。
答案 0 :(得分:1)
正如有些人提到的,这似乎是一个本地问题,您可以在netwerk中的其他系统上尝试这一点,看看它是您的ISP,代理还是网络相关的其他系统,更新或更新的PowerShell版本可能会有所帮助但我猜你已经在5.0;)
cls
$Results = @{
"InvokeWeb" = @()
"curl" = @()
}
1..4 | Foreach {
$Results["InvokeWeb"] += Measure-Command {Invoke-WebRequest -Uri "https://microsoft.com"}
$Results["curl"] += Measure-Command {curl "https://microsoft.com"}
}
输出:
$Results
Name Value
---- -----
InvokeWeb {00:00:00.6267722, 00:00:00.6085871, 00:00:00.6476704, 00:00:00.6381885}
curl {00:00:00.6342388, 00:00:00.6240474, 00:00:00.6083872, 00:00:00.6594317}
第一个请求可能慢3倍,例如1秒的其他请求将有利于缓存。
答案 1 :(得分:1)
不知道为什么会这样,并且不知道为什么它一直是43秒,但我突发奇想,我禁用了IPv6并修复了它.♀️