SVN / TortoiseSVN痛苦地缓慢

时间:2009-06-04 09:32:42

标签: magento svn tortoisesvn project revert

我正在使用我们的一个SVN存储库/项目进行痛苦的缓慢操作。

例如,在一个小文件(10 KB)中恢复更改需要5-10分钟。或大约40-60分钟检查100 MB的项目。

在同一台服务器上还有大约30个其他项目,有些项目比这个大得多,而且没有一个像这样预制。

需要注意的一点是,这个项目是一个Magento项目。它在磁盘空间方面不是很大,但我有23k文件和11k文件夹,当有很多小文件时,我已经读了很多SVN预制件;这是真的?我能做些什么来加快速度吗?

10 个答案:

答案 0 :(得分:56)

当存在大量目录时,Subversion工作副本执行得非常糟糕,就像你的情况一样。对于工作副本的写入操作(甚至只是本地),必须锁定工作副本,这意味着在每个目录(即11k文件创建)中创建锁定文件,然后执行操作,并且这些11k文件是再次删除。

Subversion 1.7正在转向另一种工作副本格式,应解决这些问题。在此之前,您可能会尝试加速一些技巧,例如从病毒扫描程序中排除工作副本,禁用目录上的文件监视器(如TortoiseSvnCache),并尝试减少目录总数。 (也许可以查看一些单独的工作副本)

答案 1 :(得分:20)

使用具有还原的回收站存在已知问题,这会导致缓慢还原。清空回收站并将TortoiseSVN设置为在还原操作期间不使用它们都会加快此操作(请参阅http://www.nabble.com/Revert-is-too-slow-td18222196.html)。

这肯定加快了我的还原操作。

答案 2 :(得分:10)

更改密码后,我在Windows上使用Subversion时遇到极端缓慢。我必须从%APPDATA%\Subversion\auth删除所有目录和文件。

现在SVN很快就像野兔一样。我的缓慢发生在TortoiseSVN和命令行上。

答案 3 :(得分:6)

如果您使用NFS(Network File System)作为工作副本,SVN会很慢。这可能是你的问题。

答案 4 :(得分:1)

恢复SVN中的更改是本地操作,根本不应该转到服务器。所以听起来问题就在于你的项目工作副本。

尝试在工作副本中运行'svn cleanup';您可能还想检查硬盘驱动器或文件系统是否有问题。

答案 5 :(得分:1)

我们的SVN通过TortoiseSVN,Eclipse和命令行运行缓慢。提交和出口都很缓慢。我们基于Zend Framework的PHP项目需要花费一个时间来更新并弹出大约三个文件的小提交需要5-10分钟。

我们的SVN虚拟机(CentOS)只有700 MB的RAM,这对于仅通过Apache运行Subversion的Linux CLI来说似乎是合理的,并且已经运行了大约一年。我们只有大约20个项目,只有3个开发人员。

我已经把它增加到了1.5 GB的RAM,现在运行速度要快得多,恢复到原来的速度。

答案 6 :(得分:1)

尝试暂时停用您的防病毒软件。

答案 7 :(得分:1)

升级到TortoiseSVN 1.7.3后,我也经历了大幅放缓。

然后我发现我单独安装了SVN 1.6.5。我卸载了两个并重新安装了TortoiseSVN,现在事情好多了。 TortoiseSVN当天的第一次更新仍然很慢(1-2分钟),但之后很快。

答案 8 :(得分:1)

我们面临类似的问题,问题是TortoiseSvn(版本1.9.7)。例如,repo browser大约需要10分钟。

我们已经改变了Show Locks功能并修复了所有内容!

右键单击文件夹,然后选择Tortoise\Settings,然后选择General\Dialog 3,然后取消选择 Show Locks

http://tigris-scm.10930.n7.nabble.com/Workaround-for-slow-RepositoryBrowser-on-large-repositories-td92324.html

也可以找到一些好的提示

答案 9 :(得分:0)

我有一些使用Eclipse IDE的项目。如果您捕获Eclipse项目目录,您将获得成百上千个小文件,这些文件对您的项目产生的影响与您的项目相同。

我认为当你检查文件时,SVN会一次一个地执行,这意味着拥有大量文件的项目总是很慢而且你可以做的很少(除了避免频繁的整个存储库)操作)。

对单个文件进行更改时应该不会很慢。

您可以尝试another post on Stack Overflow about slow SVN中的建议。这也可能是由于using a BDB database