通过SVN快速下载小文件,慢速下载大文件

时间:2014-01-28 07:20:31

标签: svn networking throughput

我使用SVN通过站点到站点VPN下载文件。下载java / class文件时速度为400kb / s,但当.jar文件下载时,速度下降到10kb / s。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

比jar小得多的java文件(这是一个大的二进制文件,充当zip存档),平均速度似乎要快得多,因为小文件(几KB)的下载时间比svn调查下载速度。
这为平均平均提供了印象

但是对于一个大文件,svn有时间多次轮询相同的下载速度,并且显示实际速度(在更长的时间内)。


可影响速度转移的另一个方面是https会话上的double-compression issue

  

当使用zlib构建OpenSSL时,它将自动压缩通过SSL连接发送的所有数据。您可以在初始握手“Client Hello”和“Server Hello”中看到这一点,其中客户端和服务器就要使用的压缩机制达成一致。

     

如果发送或接收的数据已经压缩,OpenSSL将再次压缩。当发送已经压缩的二进制文件(如.gif或.zip)或服务器使用gzip编码进行http响应时,可能会发生这种情况。 这会对性能和内存使用产生影响


Ben Reser添加in the comments
(Ben是[{3}}和Apache Subversion project)的完全提交者/ PMC成员

  

实际上,您最终可以获得最多3层压缩。

     
      
  • 明文文件可以压缩(用户控制),
  •   
  • 可以压缩通过网络发送的subversion diff格式(通过-c svnserveSVNCompressionLevel httpd进行控制,
  •   
  • 并且可以压缩磁盘存储库增量格式(可在1.9中的fsfs.conf中配置)   最后一点是压缩文件传输速度的显着消耗,直到1.9,除了避免将压缩文件添加到SVN之外,你无法真正做任何事情。
  •