performance - 多次修改后的SVN性能

标签 performance svn repository fsfs

我的项目目前正在使用 svn 存储库,每天都会获得数百个新修订。 该存储库驻留在 Win2k3 服务器上,并通过 Apache/mod_dav_svn 提供服务。

我现在担心随着时间的推移,性能会由于太多修改而降低。
这种担心合理吗?
我们已经计划升级到 1.5,因此从长远来看,一个目录中包含数千个文件不会成为问题。

Subversion on stores the delta (differences), between 2 revisions, so this helps saving a LOT of space, specially if you only commit code (text) and no binaries (images and docs).

这是否意味着为了查看文件 foo.baz 的修订版 10,svn 将采用修订版 1,然后应用增量 2-10?

最佳答案

您有什么类型的存储库? FSFS 还是 BDB?

(现在我们假设使用 FSFS,因为这是默认设置。)

对于 FSFS,每个版本都存储为与前一个版本的差异。所以,你会认为,是的,经过多次修改,它会很慢。

然而,事实并非如此。 FSFS 使用所谓的“跳过增量”来避免对先前的转速进行太多查找。

(所以,如果您使用的是 FSFS 存储库,Brad Wilson 的答案是错误的。)

对于 BDB 存储库,HEAD(最新)修订版是全文,但早期修订版是作为一系列针对 head 的差异构建的。这意味着每次提交后都必须重新计算之前的转速。

了解更多信息:http://svn.apache.org/repos/asf/subversion/trunk/notes/skip-deltas

附注我们的存储库大约有 20GB,有大约 35,000 个修订,我们没有注意到任何性能下降。

关于performance - 多次修改后的SVN性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/127692/

相关文章:

performance - Azure Servicebus 中继性能

svn:E210007:无法协商身份验证机制

svn - 如何做 mvn 发布 :prepare in flat structure projects?

svn - 如何知道某人何时在 Tortoise 中提交了项目

git - 如何修复丢失的 git 远程详细信息?

wordpress - 如何将我的整个 WordPress 安装置于 git 控制之下?

repository - 使用 Ninject 2.2 绑定(bind)通用存储库和特定存储库

c++ - 嵌入式 Linux 中的 C 与 C++

c# - 为什么在 C# 中,从函数参数引用变量比从私有(private)属性引用变量更快?

mysql - 我怎样才能加快我的 MySQL 查询 (JOINs + GROUP BY)