我正在经历我们其中一个SVN仓库/项目的操作非常缓慢。
例如,撤销一个小文件(10 KB)中的更改需要5-10分钟。或者检出100 MB的项目需要大约40-60分钟。
在同一服务器上有大约30个其他项目,有些比这个大得多,但它们都没有这样的表现。
需要注意的一件事是,这个项目是一个Magento项目。从磁盘空间的角度来看,它并不是很大,但我有23k个文件和11k个文件夹,并且我已经读到当有大量小文件时,SVN表现不佳;这是真的吗?有什么我可以做来加快速度吗?
我正在经历我们其中一个SVN仓库/项目的操作非常缓慢。
例如,撤销一个小文件(10 KB)中的更改需要5-10分钟。或者检出100 MB的项目需要大约40-60分钟。
在同一服务器上有大约30个其他项目,有些比这个大得多,但它们都没有这样的表现。
需要注意的一件事是,这个项目是一个Magento项目。从磁盘空间的角度来看,它并不是很大,但我有23k个文件和11k个文件夹,并且我已经读到当有大量小文件时,SVN表现不佳;这是真的吗?有什么我可以做来加快速度吗?
如果有大量目录,例如您的情况,Subversion工作副本的性能会非常差。对于对工作副本的写操作(即使只是在本地),工作副本必须被锁定,这意味着在每个目录中创建一个锁定文件(也就是说,要创建11k个文件),然后执行操作,最后再删除那些11k个文件。
Subversion 1.7正在转向不同的工作副本格式,应该解决这些问题。在此之前,您可以尝试一些技巧来加快速度,例如将工作副本从病毒扫描器中排除、在目录上禁用文件监视器(如TortoiseSvnCache)以及尝试减少目录总数(例如通过检出几个单独的工作副本)。
在使用回收站进行还原时会出现已知问题,会导致还原变得缓慢。清空您的回收站并设置TortoiseSVN在还原操作期间不使用它可以加速此操作(请参见http://www.nabble.com/Revert-is-too-slow-td18222196.html)。
这确实加快了我的还原操作。
我在Windows上更改密码后,Subversion变得极其缓慢。 我不得不删除%APPDATA%\Subversion\auth
中的所有目录和文件。
现在SVN像野兔一样快了起来。 我在TortoiseSVN和命令行中都遇到了缓慢的情况。
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找到一些好的提示。在SVN中还原更改是一个本地操作,根本不应该传到服务器。因此,问题似乎出现在您的项目工作副本中。
尝试在工作副本中运行“svn cleanup”命令;您还可以检查硬盘或文件系统是否存在问题。
我在升级到TortoiseSVN 1.7.3后也遇到了严重的减速问题。
后来我发现我还安装了一个单独的SVN 1.6.5版本。我卸载了两个版本并重新安装了TortoiseSVN,现在情况好多了。第一次在TortoiseSVN中更新需要较长时间(1-2分钟),但之后就很快了。
我有一些项目使用Eclipse IDE。如果你捕获Eclipse项目目录,你会得到成百上千个微小的文件,这对我的项目产生了与你所遇到的问题相同的影响。
我认为当你检出SVN文件时,它是逐个进行的,这意味着具有大量文件的项目始终会很慢,除了避免频繁的整个存储库操作外,你无能为力。
但更改单个文件不应该很慢。
你可以尝试Stack Overflow上关于慢SVN的另一篇文章中的建议。这也可能是由于使用BDB数据库造成的。