我们计划在网络非常慢的环境中安装Subversion存储库。
以前使用的VCS是VSS,使用它是一场噩梦(不仅因为它的“功能”)。
因此,我的问题是Svnserve和apache模块之间的选择。我知道apache模块将由于无状态协议而变慢,但是我不知道它所暗示的时间增加了多少。
是否有一些基准或规则指示两台服务器之间的平均速度差异?
最佳答案
取自this resource,
在大多数情况下,如果讨论版本控制系统Subversion的性能,则主题围绕所用的存储库后端(Berkeley DB(bdb)与FSFS)以及调整某些服务器软件甚至硬件参数来进行。
似乎不太了解使用的服务器变体(Apache Subversion mod_dav_svn模块或独立的svnserve服务器)的选择对测得的和感知的Subversion性能有很大影响。
通常,svnserve比Apache mod_dav_svn快得多
在我使用Subversion 1.4.5,Subversion 1.1.1和Apache 2.0执行的综合,非代表性基准测试中,mod_dav_svn的性能比svnserve的性能慢30%至400%。 svnserve的性能接近使用svn命令行工具对存储库的本地直接访问。
最严重的性能损失是在针对mod_dav_svn服务器的svn日志和svn合并操作期间测得的-例如,您会立即注意到较差的svn日志性能。使用Eclipse Subversion插件Subclipse。
作者还提供了a benchmark两者的比较。
我运行的snvserv在Berkely DB后端上提供约50个存储库,并且对性能没有任何抱怨。顺便提一下,虽然只有10个用户。
实际上,我发现svnserve非常易于安装和维护,并且不会因缺乏期货而对您造成不利影响。可以为svnserve启用SSH,并且如果您是“一个仓库,许多项目”的家伙,Steve Robbins谈论的基于路径的安全性也是可能的:)