我们计划在网络本身很慢的环境中安装Subversion存储库.之前使用的VCS是VSS,使用它是一场噩梦(不仅仅是因为它的"功能").
所以,我的问题是Svnserve和apache模块之间的选择.我知道由于无状态协议,apache模块会变慢,但我不知道它意味着增加了多少时间.
是否有某些基准或规则表明两台服务器之间的平均速度差异?
取自这个资源,
在大多数情况下,如果讨论版本控制系统Subversion的性能,则主题围绕使用的存储库后端(Berkeley DB(bdb)与FSFS)以及调整某些服务器软件甚至硬件参数.
似乎鲜为人知的是,所使用的服务器变体的选择--Apache Subversion mod_dav_svn模块或独立的svnserve服务器 - 对测量和感知的颠覆性能有很大的影响.通常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 log和svn合并操作期间测量了最显着的性能损失 - 如果例如,您将立即注意到svn日志性能更差.使用Eclipse Subversion插件Subclipse.
作者还提供了比较两者的基准.
我运行snvserv,为Berkely DB后端服务大约50个存储库,并且没有对性能提出任何投诉.不过,作为旁注,只有10个用户.
我实际上发现svnserve非常容易安装和维护,并且不会因为缺乏未来而惩罚你.可以为svnserve启用SSH,并且如果你是'"一个存储库,很多项目"类型的人史蒂夫罗宾斯谈论的话,也可以实现基于路径的安全性:)