我刚刚注意到一件奇怪的事情。当我正在从家里检查代码库时,我通过 VPN 快速进入办公室,我的 SVN 检出速度翻倍了!完成后,我关闭了连接,我的检出速度又回到了原来的水平。
怎么回事!?我印象中 VPN 比 HTTP 慢得多,如果我在使用 VPN 时在家用电脑上浏览网站,那么浏览网页所花的时间比不连接到工作网络时要长得多。我不知道,这对我来说似乎很奇怪,如果有人知道为什么会发生这种情况,我将不胜感激。
答案1
对于你的第一个问题:我敢打赌你的 ISP 可能正在对 HTTP 连接进行某种限制。当你使用 VPN 工作时,流量会被加密,因此不再受到 ISP 的限制。
关于使用 VPN 时网站加载时间变长的问题。这是一个完全不同的用例,速度缓慢不是由 VPN 本身造成的。听起来你的工作场所设置了 VPN 来路由全部连接时,VPN 隧道上的流量会减少。这意味着当您请求网站时,请求将通过 VPN 路由,然后通过您的工作网络与远程 Web 服务器之间的任何互联网链接发出。然后,回复必须通过相同的路径返回,通过您的工作网络,然后再通过 VPN 隧道返回。正是这些额外的路由跳数导致了速度变慢。使用 SVN 签出,数据将直接从您的工作站发送到您的工作网络,无论是通过互联网还是通过 VPN。
答案2
尽管这是一个老问题,但我还是偶然发现了这个问题,并且看到了很多猜测。其他答案在某种程度上可能是正确的,但我认为它忽略了提问者所经历的情况的关键因素。
VPN 使用压缩。
我使用 LZO 压缩,与连接宽度相比,这将使我的速度提高 4 倍。这在使用速度测试或下载/上传易压缩数据(如 csv 文件)时尤其明显。就我而言,这适用于 openvpn 家庭办公室连接以及我使用的私人互联网接入服务。
请注意,并非所有 VPN 连接都启用了压缩,但它们都(应该)启用了加密。添加或打开压缩对 CPU 周期和延迟的影响很小,但可能会改善吞吐量和大数据包延迟。
事件发生的条件
- VPN 隧道在端到端流量最慢的部分上起作用。即,两个快速独立的局域网使用 VPN 桥接(连接)。此 VPN 在网络(互联网)较慢的部分上起作用。
- VPN 隧道压缩已开启
- VPN 隧道中传输的数据尚未压缩(例如图片文件)或加密(例如发送电子邮件)
- 速度受带宽限制,而不是受发送/接收端限制
答案3
出现这种情况有两个常见原因,并且都与您工作中的配置有关:
他们的 VPN 和 HTTP 在完全不同的连接上运行。您的工作地点可能有一条专用的 SDSL 线路用于 VPN 流量,还有一条较慢的 ADSL 线路用于 HTTP
VPN 流量在网关上的优先级比 HTTP 流量高得多。我们在这里制定了许多规则,规定哪些协议具有更高的优先级。入站 HTTP 是优先级最低的协议之一,因为我们只托管内部一次性解决方案。VPN 流量排在第二位(VoIP 之后)。我们还将 HTTP 连接限制为总计 2Mbps,VPN 限制为每个 5Mbps
无论如何,这并不是因为 VPN 本质上更快,而是因为配置使 HTTP 变慢了。