当我使用打印在计算机上定义的路线时route
,大约需要 5 到 20 秒才能完成。为什么要花这么多时间?
启用VPN后:
$ time sudo route
Kernel IP routing table
(...)
real 0m21.423s
user 0m0.000s
sys 0m0.012s
不使用 VPN 时,这个过程大约需要 5 秒钟。计算机在这段时间内可以做很多事情。我重复测量了几次,每次都得到非常相似的结果。
我的机器是带有 3.0.0 内核的 Ubuntu,但据我所知,其他计算机上的路由工作方式相同。
答案1
典型的原因是路由尝试将表中的 IP 地址映射到其 DNS 名称中 - 并且由于 DNS 系统和网络的变化,这可能会非常慢。
您可以通过将-n
参数传递给路由来验证这一点,要求它只显示数字而不进行任何名称解析。如果速度非常快,您就知道是反向 DNS 查找延迟了事情。
(在这种情况下,时间都花在等待外部系统通过网络响应上。本地 CPU 几乎处于空闲状态。)