我在 vmware esxi 平台上运行了几个 ubuntu 14.04.1 机器。
在一台服务器上,我正在运行一个 git-daemon:
sudo git daemon --base-path=. --enable=receive-pack --export-all --verbose
另一台服务器用作 git“客户端”。两台机器上的 Git 版本都是 1.9.1。
在对 git-daemon 的“第一个”(请参阅下面的更多详细信息)请求中,一个简单的 git pull 和 push 没有任何更改需要 5 秒才能执行。如果我在它很快(~80ms)之后直接发出另一个。
我注意到的是,只要客户端计算机上仍有处于某种活动状态(TIME-WAIT)的 TCP 连接,它似乎很快。一旦到 git-daemon 的所有 tcp 连接从 (ss -atp) 完全消失,下一个 git pull 或 push 请求就会很慢,然后再快速一次,等等。
虽然我没有足够的框来确认,但这个问题似乎不会发生在带有 git 1.7.8 的 ubuntu 12 上
如果我从运行守护程序的机器上使用 git 客户端,也不会发生这种情况。
任何建议将不胜感激。卡尔