我的项目目前正在使用 svn 存储库,每天都会获得数百个新修订。
该存储库驻留在 Win2k3 服务器上,并通过 Apache/mod_dav_svn 提供服务。
我现在担心随着时间的推移,性能会由于太多的修改而下降。
这种恐惧合理吗?
我们已经计划升级到 1.5,因此从长远来看,一个目录中包含数千个文件不会成为问题。
Subversion 存储两个修订版之间的增量(差异),因此这有助于节省大量空间,特别是如果您只提交代码(文本)而不提交二进制文件(图像和文档)。
这是否意味着为了查看文件 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 http://svn.apache.org/repos/asf/subversion/trunk/notes/skip-deltas
附:我们的存储库大约有 20GB,有大约 35,000 个修订,我们没有注意到任何性能下降。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)