首页 > 解决方案 > 为什么使用高延迟网络时 git 很慢

问题描述

背景资料:

国内的开发者使用同样的命令只能在链路繁忙时达到0.5~2MB/s,周末或下班后达到3~6MB/s。

偶然发现,如果克隆使用 https 而不是 ssh,速度会是 11MB/s。并且如果在美国的任何服务器或工作站上设置HTTP代理,并将以下内容添加到CN开发人员的.ssh/config中,ssh克隆的速度也将稳定在11MB/s。

Host *
User git
ProxyCommand nc -x proxy.intranet.com 8080 -Xconnect %h %p

Squid的配置很简单,

acl GOOD dstdomain git.intranet.com
http_access allow GOOD
http_access deny all
http_port 8080
dns_nameservers 10.10.10.10

我还尝试在美国的测试 Git 服务器上启用 Linux BBR 但没有任何改变,我在中国设置了一个 squid 服务器并让 git clone 通过这个 squid 服务器仍然没有任何改进。无论是 IDC 还是普通笔记本电脑,它都必须是位于美国 Intranet 中的 squid 服务器。

我对原因很困惑,想知道是否有办法正确解决这个问题,而不是使用鱿鱼作为解决方法。

*由于我的声誉低,我无法直接添加屏幕截图,请查看此处的图像 粗略拓扑

标签: gitnetworking

解决方案


推荐阅读