Svn Subversion协议性能

Svn Subversion协议性能,svn,Svn,我刚刚开始/熟悉Subversion,我想知道 通过网络访问Subversion存储库时,哪个协议提供了最佳性能文件://或svn://?如果我们不使用svn://协议,是否会遗漏任何我们无法使用文件://协议的功能?我们都在同一个NT域上&计划使用Windows身份验证和NTFS/UNC安全性 蒂亚 SVN手册建议不要对多个用户使用file://协议 : 不要被让所有用户通过file://url直接访问存储库的简单想法所诱惑。即使每个人都可以通过网络共享随时使用存储库,这也不是一个好主意。它删

我刚刚开始/熟悉Subversion,我想知道 通过网络访问Subversion存储库时,哪个协议提供了最佳性能文件://或svn://?如果我们不使用svn://协议,是否会遗漏任何我们无法使用文件://协议的功能?我们都在同一个NT域上&计划使用Windows身份验证和NTFS/UNC安全性


蒂亚

SVN手册建议不要对多个用户使用file://协议

:

不要被让所有用户通过file://url直接访问存储库的简单想法所诱惑。即使每个人都可以通过网络共享随时使用存储库,这也不是一个好主意。它删除了用户和存储库之间的任何保护层:用户可能会意外(或故意)损坏存储库数据库,很难使存储库脱机进行检查或升级,还可能导致文件权限问题(请参阅“支持多个存储库访问方法”一节))。请注意,这也是我们警告不要通过svn+ssh://URL访问存储库的原因之一。从安全角度看,这实际上与本地用户通过file://访问存储库是一样的,如果管理员不小心,可能会导致所有相同的问题


如果要使用windows auth,请与apache一起使用http(s)协议。设置起来有点困难,不一定更快,但允许您使用标准的apache身份验证方法进行身份验证。包括各种基于windows的身份验证方案或kerberos


顺便说一句,通常协议速度不是svn速度的一个因素。Svn将信息缓存在磁盘上,因此大多数常规操作都基于本地缓存。接下来,速度因素在存储库和网络带宽中,而不是在协议中。

正如Paul de Vrieze所说,SVN使用的协议不会像其他因素那样影响性能。如果您使用的是小型局域网,那么SVN协议可能会令您满意。在所有其他情况下,最好将HTTPs://与Apache一起使用。我曾经在局域网上使用过,SVN://的性能比HTTPS://连接到internet的性能差


您还将发现Apache在安全性或SVN存储库查看方面可能也是一个更易于管理的解决方案。

SVN://上的签出/更新速度大约是http://上的4-12倍。该系数取决于文件/文件夹的数量和文件大小。 Apache在许多小文件上的速度要慢得多,因为每个文件都是一个完整的http请求-响应周期。 在《乌龟》中,你可以很容易地看到速度下降:

签出一个大型java项目如果您传输一个巨大的.jar,传输将上升,在获取源java文件和创建包结构时,传输将下降


同样重要的是,svn checkout在客户端比svn export慢,而且eclipse(java)比tortoise/CMD慢得多。

我同意其他人的看法,svn://比http://快得多。也就是说,我在我的存储库中使用http://是因为我喜欢mod_authz_svn的访问控制文件,而且我还没有升级到1.5


因为我的主存储库很大,所以我们将svn://保持为只读运行。我建议用户将您的初始签出设置为svn://然后使用
svn-relocate
将其转换为http://url进行提交。svn://上的更新在我们可以接受的时间内运行。

您唯一能看到协议速度效应的时间是在更新、签出或导出svn树时。哦,在进行提交(我怎么会忘记svn最重要的功能??)和合并时,这也是非常重要的