我使用SVN通过站点到站点VPN下载文件。下载java / class文件时速度为400kb / s,但当.jar文件下载时,速度下降到10kb / s。有什么想法吗?
答案 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
svnserve
和SVNCompressionLevel
httpd
进行控制,- 并且可以压缩磁盘存储库增量格式(可在1.9中的
fsfs.conf
中配置) 最后一点是压缩文件传输速度的显着消耗,直到1.9,除了避免将压缩文件添加到SVN之外,你无法真正做任何事情。