克隆到Samba股票时Git很慢

时间:2012-01-05 17:02:46

标签: linux performance git networking samba

我们正在部署新的开发平台。

我们有一个非常复杂的环境,我们无法在开发人员的计算机上重现这些环境,因此人们无法在计算机上克隆GIT存储库。
相反,他们将存储库克隆到Mapped网络驱动器(SAMBA共享),这是我们服务器中开发人员的网站DocumentRoot 每个开发者都拥有自己的共享+ DocumentRoot /网站,因此他们不会以这种方式影响人们 开发人员将Linux或Windows作为操作系统。

我们正在使用1Gbits / sec连接,与本地使用相比,GIT非常慢。 我们的存储库大小 ~900 MB

samba共享上的git状态需要大约3分钟才能完成,这是无法使用的。

我们尝试了一些SAMBA调整,但是,它仍然很慢。

有人有想法吗?

感谢您的时间。

灵光。

1 个答案:

答案 0 :(得分:4)

我相信git status只需查看存储库中的更改即可。它通过检查所有文件并检查更改的文件来完成此操作。当您对samba或任何其他共享执行此操作时,它必须通过网络连接进行检查。

我对git实现没有任何了解,但我的想象是它基本上归结为

  • 检查目录中的所有文件
  • 对每个目录重复

因此,不是创建与共享的单个持久连接,而是为存储库中的每个文件创建一个连接,并且即使使用快速连接,900MB共享也会变慢。

您是否考虑过以下工作流程?

  • 让每个开发人员克隆到他们的本地计算机
  • 在本地计算机上工作
  • 在需要部署/测试/调试时将更改推送到他们的共享

这样可以避免在实际共享上使用git并消除此问题。