在SVN中优化SVNAdmin验证

在SVN中优化SVNAdmin验证,svn,optimization,visualsvn-server,verify,svnadmin,Svn,Optimization,Visualsvn Server,Verify,Svnadmin,在我工作的企业中,我有一个大型存储库,位于SVN服务器中。我需要每天验证这个存储库的完整性,以检查SGBD是否存在一些不稳定性或破裂 我正在使用提示命令行“svnadmin path_to_my_repository”来验证我的存储库的完整性 问题是:我的存储库如此之大(约23GB,修订版为28.029),此操作需要花费大量时间才能完成 问题是:如何优化此操作,使其所需时间少于实际所需时间?或者,我可以使用其他方法以更短的时间验证存储库的完整性 一些额外信息: 安装SVN存储库的操作系统是:W

在我工作的企业中,我有一个大型存储库,位于SVN服务器中。我需要每天验证这个存储库的完整性,以检查SGBD是否存在一些不稳定性或破裂

我正在使用提示命令行“svnadmin path_to_my_repository”来验证我的存储库的完整性

问题是:我的存储库如此之大(约23GB,修订版为28.029),此操作需要花费大量时间才能完成

问题是:如何优化此操作,使其所需时间少于实际所需时间?或者,我可以使用其他方法以更短的时间验证存储库的完整性

一些额外信息:

  • 安装SVN存储库的操作系统是:Windows Server 2008
  • 我用来存储存储库的SVN服务器是:VisualSVN Server Manager 2.5.7
  • “svnadmin path_to_my_repository”命令实际上需要18~24小时

我找到的最快解决方案是编写一个脚本,并行调用svn命令(svnadmin path_to_my_repository)。然后,对于每个线程,我为SVN服务器中的不同存储库调用了命令“verify”。这不是我正在寻找的解决方案,但我通过它获得了一些性能增益。如果有人知道仅使用svnadmin命令优化此任务的解决方案,请告诉我们。谢谢。

svnadmin verify”命令接受几个不同的参数。其中之一是“修订”。因此,您应该为您拥有的每个存储库做些什么,找出一种方法来获取在过去N天内修改的修订列表(如果每天都运行,则可能是最后7天),并仅验证这些修订

您仍然应该定期(每周?每月?)对整个存储库执行完整的“svnadmin验证”。完整检查的频率应确保,如果遇到问题,可以从备份集中删除损坏的修订


或者,如果您正在使用“svnadmin hotcopy”并将该hotcopy推送到第二组轴(或第二台服务器),您可以让hotcopy得到验证。这将删除主磁盘的加载。

嘿,看起来不错!也许我可以把你的建议和我的结合起来,进一步优化我的任务。谢谢。这会触发服务器上的大量HDD访问,因此在许多情况下会减慢全局验证否?至少,仔细限制并行线程的数量应该是有用的。