Svn 大型变更集对Subversion有什么影响?
我最近向我的svn存储库提交了一个大型变更集(~7000个文件)。这7000个文件仅占使用FSFS后端并与svnserve 1.7一起提供服务的存储库总大小的5%。从那以后,在这次大型提交之后,签出修订需要花费20倍的时间 Subversion在内部做了什么导致了减速?有没有办法解决这个问题 更新Svn 大型变更集对Subversion有什么影响?,svn,fsfs,Svn,Fsfs,我最近向我的svn存储库提交了一个大型变更集(~7000个文件)。这7000个文件仅占使用FSFS后端并与svnserve 1.7一起提供服务的存储库总大小的5%。从那以后,在这次大型提交之后,签出修订需要花费20倍的时间 Subversion在内部做了什么导致了减速?有没有办法解决这个问题 更新 在手动签出错误版本时,我可以看到签出开始减慢的点。签出会很快开始将文件添加到工作副本中(您无法足够快地读取tty输出)。一旦签出到达某个目录(错误修订会将2000个文件添加到此目录(其中已包含1700
svnserve
,使用了调试和gprof,这样我们就可以对正在发生的事情有一些了解。有人进一步指出,svnadmin 1.7中与内存缓存相关的一些增强实际上在本次修订中扼杀了它即使用SVN服务于存储库1.6可以解决此问题。我猜这是在中讨论的内存缓存,它基于在错误版本(以及之前的版本)的gprof检出时间配置文件。在rBAD中,某些svn FSF到内存缓存函数的调用量大约是rGOOD中的2000000000倍是的,SVN v1.7版推出了许多性能增强功能。
但这是基于一些一般性的假设。对于极端情况,如单次提交中的大量文件或具有巨大大小的文件,需要调整relase notes中指定的预设参数。文件大小或文件数量中的总体大小?我是指文件数量。是的,我想是这样,但值得澄清。我猜一个包含19000个文件的目录可能有点大。您可以尝试转储和加载Subversion数据库。我不确定缓存调用是否会影响性能。它可能会在那里花费很多时间,但可能会为您节省一些昂贵的操作费用。奥托,可能是个虫子。您是否在[Subversion dev list]上提出了此问题(邮件收件人:dev@subversion.apache.org)? 也许值得一试。我相信Stefan Fuhrmann实现了缓存特性,他非常关心性能。