当前位置:  开发笔记 > 运维 > 正文

如何加快SVN更新?

如何解决《如何加快SVN更新?》经验,为你挑选了3个好方法。

我们有一个相当大的SVN存储库.随着我们添加代码越多,执行SVN更新的时间越长越长.我们添加svn:externals到了一些项目中重复的文件夹,比如各种网站上的FCKeditor.这有帮助,但不是那么多.

减少更新时间和提高SVN速度的最佳方法是什么?



1> Alister Bulm..:

如果它是一个较旧的SVN存储库(或者甚至是新的,但没有最佳设置),它可能使用较旧的BDB样式的存储库数据库. http://svn.apache.org/repos/asf/subversion/trunk/notes/fsfs有关于新版本的说明.从一个变为另一个并不太难 - 转储整个历史记录,使用新的svn格式的文件系统重新初始化它并重新导入.同时过滤repo-dump以删除无用信息的完整签入也是有用的(例如,我删除了某人已签入的20MB + tarball文件).

就一般速度而言 - 在提高SVN工作速度方面,基于操作系统的缓存的质量(快速)硬盘和额外内存很难出错.

在客户端,如果您通过PuttyAgent进行tortoisesvn设置以便SSH访问外部存储库计算机,您还可以启用SSH压缩,这也可以提供帮助.

编辑: SVN v1.5还有fsfs-reshard.py工具,可以帮助将基于FSFS的svn存储库拆分为多个目录 - 这些目录本身可以链接到不同的驱动器主轴上.如果你有成千上万的修订版,这也可能有所帮助 - 如果除了找到一个文件之外没有其他原因需要时间(并且你通过查看IOwait时间告诉你是否存在问题)


不要使用reshard工具!我用它做了很多测试,并且_slow存储库down_.请注意,使用1.5分片存储库进行简单导入,这样可以提高速度.

2> Lee Englesto..:

禁用对包含工作副本代码的文件夹的病毒检查.这导致我的更新速度提高了一倍.



3> Erik Forsber..:

这不是一个真正的答案,但可能有趣的是,知道svn之所以如此I/O重的原因之一就是它在.svn/text-base目录中存储了每个文件的一个额外副本.这使得本地差异操作速度很快,但却占用了大量的硬盘空间和I/O.

http://subversion.tigris.org/issues/show_bug.cgi?id=525有详细信息.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有