前几天我注意到,当我在工作时连接到 VPN 时,与 gitlab.com 的交互非常慢。如果我断开连接,速度会非常快。下面是我刚刚做的一个示例,git fetch
首先断开 VPN,然后再次连接。这是唯一的区别,而且相隔片刻。
➜ git:(autodeploy-test) time git fetch
git fetch 0.02s user 0.02s system 5% cpu 0.863 total
➜ git:(autodeploy-test) time git fetch
git fetch 0.02s user 0.03s system 0% cpu 1:16.46 total
您可以看到,不使用 VPN 需要 0.8 秒,使用 VPN 则需要 76 秒。这些时间与我的经验一致。我正在访问 gitlab.com,并且使用 SSH。不过,我甚至不确定此时该排除什么故障,或者哪些信息可能有用。我刚刚在 speedtest.net 上进行了互联网速度测试,下载速率为 234 Mbps。这是最近的事态发展;我记得直到昨天才发生过这样的事情,我已经拥有这台笔记本电脑几个星期了,一直在使用 gitlab.com 和 VPN。
不知道从哪里开始看,任何帮助都将不胜感激!
编辑: 我在 Mac 上使用 Cisco AnyConnect 客户端(操作系统为 10.15.3)。我尝试连接的 VPN 服务器都位于我的办公室,距离我的位置约 5 英里。我还没有尝试过其他客户端。
答案1
我使用 HTTPS 而不是 SSH 克隆了不同的 repo,发现即使使用 VPN 性能也很好。
因此,我集中精力查找 SSH+VPN,并找到了一个人描述与 bitbucket 基本相同的行为- 这与 SSH 尝试使用 ipv6 有关。如果我强制 git 使用 ipv4 ( git fetch -4
),则它运行良好。
我将 SSH 配置为全局使用 ipv4,此后性能一直不错。我还向 IT 部门确认我们的 VPN 不支持 ipv6,因此这似乎是我要采用的解决方案。感谢大家的指导/反馈!