将大文件的传输性能提交到 HTTP+SVN 服务器



我在Apache HTTPS服务器后面有一个SVN存储库,用于存储小型和大型(+1GB)文件。当我提交一个大文件时,传输速度约为 10MB/秒(使用 1GBit 网络线路)。当我查看服务器上的 CPU 利用率时,它已饱和,大约 85% 被 apache2 消耗,大约 15% 被磁盘驱动程序消耗。

我已经尝试禁用Apache日志记录和SSL,但这无助于提高传输速度。这让我觉得mod_dav_svn正在使用大部分 CPU?我还尝试增加服务器上可用内核的数量(默认 = 1 个内核),但这神秘地减慢了提交速度,而 httpd 仍然使用 1 个内核。设置SVNCompressionLevel 0也没有导致任何明显的速度改进。

有没有办法通过并行化或其他优化来显着提高传输速度?

服务器:

  • Debian 9.3
  • 阿帕奇 2.4.25
  • libapache2-mod-svn 1.9.5
  • svn 存储库:默认的 FSFS 配置(即所有在fsfs.conf中注释掉)。HDD 可以写入高达 30Mb/秒(硬件限制),而不会使 CPU 饱和(通过复制测试)。FS 是 NTFS,使用启用了big_writesntfs-3g,在写入 @10MB/秒时使用大约 10-15% 的 CPU。

客户:

  • SVN 1.8.13

CPU:第一代英特尔酷睿@3.20Ghz

显然,如果我能以 25-30MB/秒的速度传输,我会很高兴。

有没有办法通过以下方式显着提高传输速度 并行化还是其他优化?

是的,有。但是,该问题缺少有关SVN客户端和服务器版本,服务器和FSFS存储库配置以及运行硬件的必要详细信息。很难说什么样的优化会对您的情况有所帮助。您可能希望将服务器和客户端升级到最新版本,并在服务器的配置中禁用压缩。

仅供参考:在我的测试中,VisualSVN服务器可以提供1Gbps的速度。

相关内容

  • 没有找到相关文章

最新更新