一些需要互联网访问的命令执行时间过长

一些需要互联网访问的命令执行时间过长

最近我注意到一些需要互联网访问的命令在我的 Arch 系统上执行时间太长。例如:

  • ssh ...需要 3 分钟询问我密码
  • pip install ...需要 1 分钟才能开始下载包
  • npm install ...永远挂起

但其他像 git 一样,立即运行。大约一两周前,这些命令突然变慢了。在他们工作正常之前。

我尝试重新安装 Linux 并使用可引导 USB 在 Ubuntu 和 Manjaro 上进行测试,但结果是相同的。这不可能是由于互联网连接速度慢造成的,因为我通常有 40 Mb/s 的下载和 10Mb/s 的上传。目前我正在使用 EndeavourOS。

我尝试将我的设置/etc/resolv.conf8.8.8.8(Google 的公共 DNS 服务器),但这并没有解决速度问题。

我还在 Windows 上测试了它(我有 Windows 和 Linux 的双引导),它工作得很好。

ssh -vvv ...直到暂停位置的完整输出:

OpenSSH_8.9p1, OpenSSL 1.1.1m  14 Dec 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/whistleroosh/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/whistleroosh/.ssh/known_hosts2'
debug2: resolving "xxx" port 22
debug3: resolve_host: lookup xxx:22
debug3: ssh_connect_direct: entering
debug1: Connecting to xxx [yyy] port 22.
debug3: set_sock_tos: set socket 3 IPV6_TCLASS 0x48

有谁知道造成这种放缓的原因是什么?

答案1

问题出在 IPv6 上。例如通过使用禁用它sysctl -w net.ipv6.conf.all.disable_ipv6=1解决了问题。

答案2

通常,当我看到类似的内容时,这是由于名称解析超时造成的。检查一下是件好事。

  • 如果您有 /etc/nsswitch.conf,请确保未配置任何您不使用的服务。
  • 检查配置的 DNS 名称服务器是否正确。
  • 您是否有处理反向解析的本地名称服务器?某些服务会尝试查找您的客户姓名以进行记录。如果反向解析停止,服务器可能会在这段时间内挂起。

相关内容