svn - 在 svnsync 中处理大文件

标签 svn visualsvn-server connection-timeout svnsync

我们计划在我们位于悉尼的另一个办公室拥有一个 SVN 镜像存储库。我们在两个位置都使用 VisualSVN 服务器 v2.5.7。

我决定使用 svnsync去做吧。起初我想同步我们所有的存储库,当所有存储库都与镜像存储库同步时,调度程序将调用 svnsync每个午夜。

它可以同步我们存储库之一的 167 个修订版。但是在第 168 次修订版中,我们有一个无法同步的大文件(大约 250 MB 的压缩 oracle 文件)。即使我修改了本地和远程服务器的超时,它也不起作用。它一次坚持大约一小时,并给我以下错误:

Transmitting file data .......................svnsync: E175002: PUT of '/{some path}/{bigfile}.zip': Could not send request body: An established connection was aborted by the software in your host machine. <{target url}>



以下是我在 httpd-custom.conf 中所做的修改VisualSVNs(本地,镜像)的Apache服务器中的文件:
Timeout 300000
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 300000

<IfModule dav_svn_module="">  
  # Enable a 1 Gb Subversion data cache for both fulltext and deltas.  
  SVNInMemoryCacheSize 1048576  
  SVNCacheTextDeltas On  
  SVNCacheFullTexts On
  #SVNCompressionLevel 9
</IfModule> 

我什至将超时增加到 600000 或更多,但结果是一样的。我在 http 模式下启动了两个服务器。在我们的本地网络上,它可以在 20 分钟内同步所有存储库。

关于我们互联网连接的上传速度约为 256 Kbs,我不希望这次是在互联网环境中。但是我希望 SVN 服务器等待我为它们设置的超时时间,因为我们可以轻松地将这些大小的文件提交到其他使用 CollabNet Server 的 SVN 服务器。只需 2 小时即可成功提交。我认为 300000 秒超时远不是 2 小时。

最佳答案

将您的 VisualSVN 服务器实例升级到最新版本。

从 Subversion 1.8 开始,serf使用性能更好的 HTTP 客户端库代替旧的 neon .因此,您在使用 svnsync 时可能会看到较少的问题。通过不稳定的低带宽连接。

Regarding our internet connection's uploading speed that is about 256 Kbs



从版本家族 3.0 开始,VisualSVN 服务器企业版有一个特殊功能,可以帮助您消除低带宽瓶颈:Multisite Repository Replication (VDFS) .

与基于直写代理的复制系统相比,基于 VisualSVN 分布式文件系统的 Subversion 存储库复制速度快 10 倍以上(据我所知,您现在正在使用直写代理)。

除此之外,VDFS 支持锁定、复制用户访问权限并确保在所有复制的存储库上一致执行 SVN Hook 脚本。

关于svn - 在 svnsync 中处理大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13359739/

相关文章:

svn - 如何让 AnkhSVN 与 VisualSVN Server 一起使用?

Java HttpRequest 超时意外抛出 HttpConnectTimeoutException

android - HttpClient 执行不断给出 ConnectTimeoutException

c++ - Winsock C++ 连接超时

svn - 如何在 svn repo 中本地忽略 .git 和 .gitignore?

svn - "Error Validating server certificate"VisualSVN 服务器上的提交后 Hook 错误

visual-studio - git 和 subversion 的插件在同一个 IDE 上

asp.net - 使用sharpsvn API从ASP.Net访问Visual SVN

svn - TortoiseSVN - 客户端中缺少文件

svn - 经过大规模重构后,Tortoisesvn 一直说 "Please wait"